Recently, I’m concentrating on nose plugin development.
Some people would be confused with some descriptions in http://nose.readthedocs.io/en/latest/plugins/interface.html
wantFunction(function)
Return true to collect this function as a test, false to prevent it from being collected, and None if you don’t care.
Parameters: function – The function object being examined by the selector
wantMethod(method)
Return true to collect this method as a test, false to prevent it from being collected, and None if you don’t care.
Parameters: method (unbound method) – The method object being examined by the selector
After some experiments, we get the conclusion below:
- function is defined out of class in python
- method is defined in a class
>>> def a(): pass
>>> a
0x107063aa0>
>>> type(a)
'function'>
>>> class A:
... def a(self): pass
>>> A.a
>>> type(A.a)
'instancemethod'>
import unittest
def test_function():
print "test_function will be invoked by wantFunction"
class TestStringMethods(unittest.TestCase):
def test_method(self):
print "test_method will be invoked by wantMethod"