鼻子报告累积报道

时间:2015-06-23 12:48:48

标签: python unit-testing testing nose

想象一下你有BASE_CLASS的情况。几个类继承自该类:CHILD_ACHILD_BCHILD_C

现在让我们编写单元测试,但仅适用于CHILD_ACHILD_BCHILD_C。我怀疑,BASE_CLASS的覆盖范围是0%。不幸的是,nose需要累积覆盖率,这不是我想要的。我在执行测试时尝试使用---cover-erase标志,但这并没有帮助。

我的问题是:如何强制nose不使用累积保险?我需要知道BASE_CLASS的单元测试有多好。

1 个答案:

答案 0 :(得分:1)

您的测试正在运行BASE_CLASS中的代码。 Python在创建子类实例时不仅知道基类中的内容。它必须转到基类并查看那里的代码。

如果要查看对特定基类的覆盖范围有多好,可以运行特定于该类的测试用例/方法。来自docs

# Run all the tests in the animals.tests module
$ ./manage.py test animals.tests

# Run all the tests found within the 'animals' package
$ ./manage.py test animals

# Run just one test case
$ ./manage.py test animals.tests.AnimalTestCase

# Run just one test method
$ ./manage.py test animals.tests.AnimalTestCase.test_animals_can_speak