测试失败时在不同文件夹中创建的python unittest xml文件
根据测试是否通过,以下代码将日志文件打印到不同的文件夹中。我有一个具有一个测试目的的测试用例。在测试运行期间,它执行chdir() 如果测试结果失败(assert*失败),xml文件将写入测试的当前目录。如果测试结果是通过的,那么xml文件将写入start文件夹。有关如何指定日志文件文件夹的信息,请参见代码段。除了使用完整路径之外,还有没有办法让python unittest始终将其写入start文件夹测试失败时在不同文件夹中创建的python unittest xml文件,python,xml,unit-testing,Python,Xml,Unit Testing,根据测试是否通过,以下代码将日志文件打印到不同的文件夹中。我有一个具有一个测试目的的测试用例。在测试运行期间,它执行chdir() 如果测试结果失败(assert*失败),xml文件将写入测试的当前目录。如果测试结果是通过的,那么xml文件将写入start文件夹。有关如何指定日志文件文件夹的信息,请参见代码段。除了使用完整路径之外,还有没有办法让python unittest始终将其写入start文件夹 logFolderName = "TestMyStuff_detail-" +str(scr
logFolderName = "TestMyStuff_detail-" +str(scriptPid)
unittest.main(testRunner=xmlrunner.XMLTestRunner(output=logFolderName),
failfast=False)
除了使用完整路径之外,还有没有办法让python unittest始终将其写入start文件夹
logFolderName = "TestMyStuff_detail-" +str(scriptPid)
unittest.main(testRunner=xmlrunner.XMLTestRunner(output=logFolderName),
failfast=False)
可疑,因为相对路径总是相对于当前工作目录。如果您的测试更改了当前的工作目录,那么您就有点倒霉了
话虽如此,使用完整路径应该不会太难:
import os
cwd = os.getcwd()
localLogFolderName = "TestMyStuff_detail-" +str(scriptPid)
logFolderName = os.path.abspath(os.path.join(cwd, localLogFolderName))
您可以使用固定路径写入输出。 差不多
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")
谢谢xml文件的位置在失败时由cwd确定,而不是在测试目的结束时使用cwd,这似乎很奇怪,对于通过测试的目的来说,也会使用cd。