我有一个python文件testing.py包含以下内容:
import subprocess
import unittest
DETACHED_PROCESS = 0x00000008
def open_exe(file,mode):
if mode == 1:
if type(file) is str:
object = subprocess.Popen([file],creationflags=DETACHED_PROCESS,shell=True)
if object.pid is None:
return 0
else:
print "Process id ", object.pid
return 1
if mode == 2:
if type(file) is str:
object = subprocess.Popen([file,"-configuration=" + "Other_base_0x1010.def"], creationflags=DETACHED_PROCESS,shell=True)
if object.pid is None:
return 0
else:
print "Process id ", object.pid
return 1
class testmyfunctions(unittest.TestCase):
def test_contains_simple_true(self):
self.assertEqual(open_exe("D:\\learning\\development\\MY_base.exe",1),1)
def test_first_process(self):
self.assertEqual(open_exe("D:\\learning\\Projects\\Other_base.exe", 2), 1)
if __name__ == '__main__':
unittest.main()
这个testing.py文件实际打开两个.exe然后我做了两个测试用例。我的问题是如何将testing.py的输出写入xml文件,这些文件将在jenkins上可视化?有一些命令吗? Atleast建议我从哪里开始。
答案 0 :(得分:1)
首先,将xmlrunner安装到您的从属节点。您可以参考this link以及如何将其与您的unittest一起使用。
秒。回到詹金斯,你需要设置一个有两个步骤的工作:
step1 :"执行Shell"要执行unittest,请确保使用xmlrunner生成xml输出
step2 :"添加构建后操作" ==>"发布JUnit测试报告"然后将报告路径(在步骤1中生成)放在那里。
答案 1 :(得分:0)
您可以使用nosetests
作为测试运行员。它与标准unittest
测试兼容,并具有各种输出格式选项。
要创建JUnitXML,您可以在命令行中指定--with-xunit
。因此,要运行测试,只需执行以下操作:
$ nosetests --with-xunit
这将运行您的测试套件,并在当前工作目录中生成名为nosetests.xml的文件。