我正在尝试记录我在 xml 中的 python 单元测试的所有输出。 我有测试用例、分类和模块的设置和拆卸。所有输出都被打印到控制台,但只有测试用例 setUp 和 tearDown 显示在 xml 中。
命令运行:
nodetests -s ATestModule --with-xunit --xunit-file=a.xml
特定测试用例的输出是:
<testcase classname="ATestModule.FirstTestCase" name="testOne" time="0.553">
<system-out><![CDATA[2014-02-24 17:51:30,560 - INFO - TestData]]>
</system-out>
</testcase>
我将设置和拆卸模块定义为:
def setup_module():
print(__name__ + "Setup module")
def teardown_module():
print(__name__ + "Tear down module")
我用了http://pythontesting.net/framework/nose/nose-fixture-reference/举个例子。
这些没有出现在测试用例中,这是可以理解的,但我仍然希望它们出现在 xml 中的某个地方?是否有更适合我需求的设置或不同的运行者?
谢谢!
最佳答案
这是我发现的。根据documentation ,模块级设置和拆卸应命名为 setUpModule
和 tearDownModule
。我已经尝试了一些测试,果然,虽然调用了这些 fixture 函数,但它们的输出不包含在输出 XML 文件中。
同样,类级别的装置 setUpClass
和 tearDownClass
也被调用,但没有显示任何输出。这可能是设计使然,我不知道如何修复它。
更新
我查看了 nose
的源代码,果然,固定装置没有 XML 输出。
关于python - XML 输出包括 setup_module 和 teardown_module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22000985/