Hi All,

 I am trying to bypass nose's default loading of test-cases, by asking it to 
pick up testcase from the module I specify.. I read through the docmentation, 
few sample plugins like isolation and doctests, I am kind of lost...  if 
someone has an insight into it, much appreciated... 

approach i took,

* save a reference to the core test loader in prepareTestLoader()
* override implement loadTestsFromModule(module), it loads tests from a 
specific module then do:
    yield self.loader.loadTestsFromModule(extension_module)

Questions and issues I am facing,
1. Can I set the loader.suiteClass in the prepareTestLoader itself.. or do I 
need to explicitly override loadTestsFromModule function...

2. What should I do in the loadTestsFromModule, yield or return, at some places 
we are yielding suiteClass and at some places we are returning suiteClass, so 
confused what is the right behavior.. looking at examples I tried following 
below, what is right,

   yield self.loader.loadTestsFromModule(extension_module)
   return self.loader.loadTestsFromModule(extension_module)
   yield self.suiteClass(self.loader.loadTestsFromModule(extension_module))
   return self.suiteClass(self.loader.loadTestsFromModule(extension_module))

Issues,

    when I used self.loader.loadTestsFromModule(extension_module); I am getting 
below error,
  File "/opt/tools/lib/python2.7/site-packages/nose/suite.py", line 218, in run

    if result.shouldStop:

  File "/opt/tools/lib/python2.7/site-packages/nose/proxy.py", line 30, in fget

    return getattr(getattr(self, local_attr), proxied_attr)

AttributeError: 'ContextList' object has no attribute 'shouldStop'



     alternatively I used: 
nose.loader.TestLoader().loadTestsFromModule(module=mod1)


These are my plugin-functions below for your reference,

   def prepareTestLoader(self, loader):
        print "--- prepareTestLoader.."

        self.loader = loader

        self.suiteClass = loader.suiteClass

        suite = nose.loader.TestLoader().loadTestsFromModule(module=mod1)

        loader.suiteClass = self.loader.suiteClass(suite)   <---- can I do 
this, am getting errors

        
    def loadTestsFromModule(self, module=None):

        print "Into... loadTestsFromModule.."

        #suite = nose.loader.TestLoader().loadTestsFromModule(module=mod1)

        suite = self.loader.loadTestsFromModule(module=mod1)


        yield self.loader.suiteClass(suite)



Thank you so much ...
_______________________________________________
Chennaipy mailing list
Chennaipy@python.org
https://mail.python.org/mailman/listinfo/chennaipy

Reply via email to