暂时禁用各个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_testnametest_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的文档不指定忽略或跳过方法。

通常情况下,我会在需要时阻止评论。