栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

鼻子,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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651643.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号