鼻子,unittest.TestCase和元类:未发现自动生成的test_ *方法

鼻子,unittest.TestCase和元类:未发现自动生成的test_ *方法,第1张

鼻子,unittest.TestCase和元类:未发现自动生成的test_ *方法

因此,在仔细检查了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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5653779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存