Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
测试失败时在不同文件夹中创建的python unittest xml文件_Python_Xml_Unit Testing - Fatal编程技术网

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

测试失败时在不同文件夹中创建的python unittest xml文件,python,xml,unit-testing,Python,Xml,Unit Testing,根据测试是否通过,以下代码将日志文件打印到不同的文件夹中。我有一个具有一个测试目的的测试用例。在测试运行期间,它执行chdir() 如果测试结果失败(assert*失败),xml文件将写入测试的当前目录。如果测试结果是通过的,那么xml文件将写入start文件夹。有关如何指定日志文件文件夹的信息,请参见代码段。除了使用完整路径之外,还有没有办法让python unittest始终将其写入start文件夹 logFolderName = "TestMyStuff_detail-" +str(scr

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

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

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。