以下代码导致日志文件打印到不同的文件夹,具体取决于测试是否通过。我有一个具有一个测试目的的测试用例。在测试运行期间,它执行chdir()。
如果测试结果失败(断言*失败),则xml文件将写入测试的当前目录。如果测试结果通过,则xml文件将写入start文件夹。有关如何指定日志文件文件夹的信息,请参阅代码段。除了使用完整路径之外,有没有办法让python unittest始终将它写入起始文件夹?
logFolderName = "TestMyStuff_detail-" +str(scriptPid)
unittest.main(testRunner=xmlrunner.XMLTestRunner(output=logFolderName),
failfast=False)
答案 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")