测试失败时在不同文件夹中创建的python unittest xml文件

时间:2016-04-06 18:23:34

标签: python xml unit-testing

以下代码导致日志文件打印到不同的文件夹,具体取决于测试是否通过。我有一个具有一个测试目的的测试用例。在测试运行期间,它执行chdir()。

如果测试结果失败(断言*失败),则xml文件将写入测试的当前目录。如果测试结果通过,则xml文件将写入start文件夹。有关如何指定日志文件文件夹的信息,请参阅代码段。除了使用完整路径之外,有没有办法让python unittest始终将它写入起始文件夹?

logFolderName = "TestMyStuff_detail-" +str(scriptPid)
unittest.main(testRunner=xmlrunner.XMLTestRunner(output=logFolderName),
              failfast=False)

2 个答案:

答案 0 :(得分:0)

  

除了使用完整路径之外,有没有办法让python unittest始终将它写入开始文件夹?

令人怀疑,因为相对路径将始终相对于当前工作目录。如果你的测试改变了当前的工作目录,那你就有点不走运了。

话虽如此,使用完整路径并不难:

import os
cwd = os.getcwd()
localLogFolderName = "TestMyStuff_detail-" +str(scriptPid)
logFolderName = os.path.abspath(os.path.join(cwd, localLogFolderName))

答案 1 :(得分:0)

您可以使用固定路径来编写输出。 像

这样的东西
path_to_my_output_folder="/path/to/output/"

test1_write_xml(path_to_my_output_folder+"file1.xml")
test2_write_xml(path_to_my_output_folder+"file2.xml")
test3_write_xml(path_to_my_output_folder+"file3.xml")