2016-09-26 82 views
0

我需要將我的測試結果分配給用例。 目前我有我的課TestNG測試(單元測試)。 很明顯,這些測試是因爲用例而存在的類,但沒有明顯的1-1映射。如何將TestNG測試結果分配給用例?

是否可以配置TestNG報告以在報告中包含自定義組?

F02UC01解析輸入 用於該用途的情況下,我有測試類:

  • com.company.product.input.ParseTest

F03UC02農產品輸出 這個用例我有測試

  • com.company.product.input.OutputTest com.company.product.input.AnotherOutputTest

理想情況下,我不想重新運行或重寫現有的測試。我只想要另一個測試報告,具有不同的分組標準。

回答

2

通常你通過創建一個套件xml文件來做到這一點。例如。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="Use Case Tests"> 

    <test name="F02UC01 parse input"> 
    <classes> 
     <class name="com.company.product.input.ParseTest"/> 
    </classes> 
    </test> 

    <test name="F03UC02 produce output"> 
    <classes> 
     <class name="com.company.product.input.OutputTest"/> 
     <class name="com.company.product.input.AnotherOutputTest"/> 
    </classes> 
    </test> 

</suite> 

也許你可以用包而不是類來選擇它們。

<packages> 
    <package name="com.company.product.input.*"/> 
</packages> 

你也可以混合classespackages選擇。請參閱​​。

編輯

我反正運行的所有測試。我只想要另一個報告,其中一些測試是用例。

我想在這種情況下,你必須實現自己的IReporter

我會創建一個註釋,我可以添加到測試方法來邏輯分組它們。例如。

@Test 
@TestTag("F02UC01 parse input") 
public void someTest(){ 
} 

,然後使用IAnnotationFinder在我定製的記者報道由註釋的值分組測試。

+0

看起來不錯!在這種情況下,是否有可能爲了這份報告而避免重新運行測試?無論如何,我正在運行所有測試。我只想要另一個報告,其中一些測試是用例。 –

相關問題