因此,在仔细检查了stdlib
unittest和鼻子的加载器和选择器源代码之后,事实证明鼻子重写
unittest.TestLoader.getTestCaseNames将使用其自己的选择器(带有插件点)。
现在,鼻子的选择器将寻找一种可能的方法
method.__name__来匹配某些正则表达式,黑白列表以及插件的决策。
在我的情况下,动态生成的函数具有
testable.__name__ == '<lambda>',不匹配鼻子的选择器条件。
修理,
# inject methods: test{testname}_v4,6(self) for suffix, arg in (('_false', False), ('_true', True)): testable_name = 'test{0}{1}'.format(testname, suffix) testable = lambda self, arg=arg: meth(self, arg) testable.__name__ = testable_name # XXX: the fix attrs[testable_name] = testable
当然可以:
(sandbox-2.7)bash-3.2$ nosetests -vv test_normal (test_testgen.TestCase) ... oktest_that_false (test_testgen.TestCase) ... oktest_that_true (test_testgen.TestCase) ... oktest_this_false (test_testgen.TestCase) ... oktest_this_true (test_testgen.TestCase) ... ok----------------------------------------------------------------------Ran 5 tests in 0.005sOK
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)