如何在最终结果中打印跳过的测试

时间:2014-02-24 08:35:32

标签: python nose nosetests

我使用nosetests框架编写测试用例。我正在使用@attr来选择正确的测试用例

我的test.py是这样的......

class Test_module1_tcs:
    @classmethod
    def setup_class(cls):
        ...

    def setup(self):
        ...

    @attr(mod=['mod1', 'mod2'])
    def test_particular_func(self):
        ...

    def teardown(self):
        ...

    @classmethod
    def teardown_class(cls):    
        ...

如果我执行此测试用例,结果将如下所示

$nosetests test.py -a mod=mod3

----------------------------------------------------------------------
Ran 0 tests in 0.001s

OK

有没有办法可以跳过测试用例信息?主要是因为我有超过1000个测试用例,很难知道哪个测试用例被跳过了。

1 个答案:

答案 0 :(得分:0)

要实现您的确切要求,您必须做出选择:运行所有测试并在内省属性并在测试中找到匹配时抛出SkipTest异常,或者为鼻子创建自己的插件(通过克隆attrib.py以跟踪跳过的测试)。

保证测试覆盖率的最佳方法是使用Ned Batchelder的coverage。 Nose非常支持使用--cover-tests覆盖测试和代码。您还可以使用--cover-min-percentage=100设置通过阈值。因此,通过正确组合覆盖包选择,累积测试结果和通过覆盖阈值,您将确保所有测试都已执行。

不要忘记查看--cover-html生成的文件,这是一个眼睛糖果!