Pytest XML格式的测试执行结果

Pytest XML格式的测试执行结果

我们可以在一个xml文件中生成测试执行的细节。这个xml文件主要是在我们有一个预测测试结果的仪表板的情况下有用。在这种情况下,xml可以被解析以获得执行的细节。

现在我们将执行test_multiplcation.py中的测试,并通过运行生成xml文件

pytest test_multiplication.py -v --junitxml="result.xml"

现在我们可以看到result.xml是用以下数据生成的 —

<?xml version = "1.0" encoding = "utf-8"?>
<testsuite errors = "0" failures = "1"
name = "pytest" skips = "0" tests = "4" time = "0.061">
   <testcase classname = "test_multiplication"          
      file = "test_multiplication.py"
      line = "2" name = "test_multiplication_11[1-11]"
      time = "0.00117516517639>
   </testcase>

   <testcase classname = "test_multiplication"    
      file = "test_multiplication.py"
      line = "2" name = "test_multiplication_11[2-22]"
      time = "0.00155973434448">
   </testcase>

   <testcase classname = "test_multiplication" 
      file = "test_multiplication.py"
      line = "2" name = "test_multiplication_11[3-35]" time = "0.00144290924072">
      failure message = "assert (11 * 3) == 35">num = 3, output = 35

         @pytest.mark.parametrize("num,
         output",[(1,11),(2,22),(3,35),(4,44)])

         def test_multiplication_11(num, output):> 
         assert 11*num == output
         E assert (11 * 3) == 35

         test_multiplication.py:5: AssertionErro
      </failure>
   </testcase>
   <testcase classname = "test_multiplication" 
      file = "test_multiplication.py"
      line = "2" name = "test_multiplication_11[4-44]"
      time = "0.000945091247559">
   </testcase>
</testsuite>

这里,标签 **< testsuit> **总结了有4个测试,失败的次数是1。

  • 标签 **< testcase> **给出了每个执行的测试的细节。

  • <failure>标签给出了失败测试代码的细节。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程