一起使用 django-nose 和 unittest-xml-reporting - 单元测试

And*_*rey 2 django junit unit-testing code-coverage django-nose

我们有一个 django 项目,它使用unittest-xml-reporting为竹子提供有关测试结果的 xml 文件。我们想集成django-nose来测试代码覆盖率。但是由于 django 测试需要一个TEST_RUNNER类,我不知道如何并行使用这两个功能(实际上不重叠):

用于 unittest-xml-reporting

TEST_RUNNER = 'xmlrunner.extra.djangotestrunner.XMLTestRunner'
Run Code Online (Sandbox Code Playgroud)

对于 django-nose

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
Run Code Online (Sandbox Code Playgroud)

我试图进入代码,但编写某种黑客来将类连接在一起似乎很麻烦。还剩下什么选择?

dan*_*ius 5

为什么不只使用django-nose来生成 xjunit XML?只需添加这些行:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

NOSE_ARGS = [
    '--verbosity=2',  # verbose output
    '--with-xunit',  # enable XUnit plugin
    '--xunit-file=xunittest.xml',  # the XUnit report file
]
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您不必对两个 Runner 进行子类化,这是唯一的方法:创建自定义 Runner 并合并两者可能难以实现的内容。