暂时禁用各个Pythonunit testing
在Python中使用unittest
模块时,如何暂时禁用单个unit testing?
单独的testing方法或类都可以使用unittest.skip
修饰器来禁用。
@unittest.skip("reason for skipping") def test_foo(): print('This is foo test case.') @unittest.skip # no reason needed def test_bar(): print('This is bar test case.')
有关其他选项,请参阅跳过testing和预期失败的文档。
您可以使用装饰器来禁用可以包装函数的testing,并防止googletest或pythonunit testing运行testing用例。
def disabled(f): def _decorator(): print f.__name__ + ' has been disabled' return _decorator @disabled def testFoo(): '''Foo test case''' print 'this is foo test case' testFoo()
输出:
testFoo has been disabled
最新版本(2.7 – 未发布)支持testing跳过/禁用像这样 。 你可以得到这个模块,并在现有的Python安装中使用它。 它可能会工作。
在此之前,我曾经把我想要的testing重命名为xtest_testname
的test_testname
。
这是一个快速的elisp脚本来做到这一点。 我elisp有点生疏,所以我提前道歉,因为它有任何问题。 未经testing。
(defun disable_enable_test () (interactive "") (save-excursion (beginning-of-line) (search-forward "def") (forward-char) (if (looking-at "disable_") (zap-to-char 1 ?_) (insert "disable_"))))
我只是用一个下划线重命名testing用例方法:test_myfunc变成_test_myfunc。
简单地把@unittest.SkipTest
装饰器放在testing上面就足够了。
2.1的文档不指定忽略或跳过方法。
通常情况下,我会在需要时阻止评论。