我正在编写一个插件来处理我的单元测试,功能测试和集成测试不同.
我的tests文件夹将具有以下结构:
/tests
— /unit
— /functional
— /integration
每个单元测试将驻留在单元目录中,每个功能测试将驻留在功能目录中,依此类推.
我熟悉Layers插件,但我宁愿按照惯例进行测试.
在测试运行之前,我应该使用哪个钩子来注入适当的层?
它应该是loadTestsFromModule钩子吗?你能告诉我一个例子吗?
我还想将每种测试的摘要报告分开.
我应该使用哪个钩子?
最佳答案 您不需要编写插件,
the built-in attr module就是为此目的而设计的.但是,它不依赖于您的文件层次结构.相反,您将单个测试标记为单元,功能或集成.这看起来像:
from nose.plugins import attrib
@attrib.attr("functional")
class FunctionalTestCase(unittest.TestCase):
pass
要仅运行功能测试,您将执行以下操作:
nosetests -a functional
如果我正在创建这个测试布局,我可能会有3个unittest.TestCase子类,已标记为“unit”,“functional”和“integration”.新测试可以轻松地继承适当的测试类型.