簡體   English   中英

TestNG-從不同的類導入/運行測試

[英]TestNG - Importing / running tests from different classes

我的情況是:

public class ExampleTest extends AbstractExampleTest {
    @Test(dependsOnMethods={"someMethodFromAbstractExampleTest"}
    public void firstTest() {
        // Assert
    }

    // here I would like to call CommonTests
}

public class CommonTests {
    @Test
    public void sharedTest() {
        // Assert
    }
}

存在類似CommonTests之類的原因是,它將包含重復的測試序列。 我當前從ExampleTest向CommonTests傳遞信息的方式是通過靜態方法完成的,該方法似乎可行,但可能不是最好的方法。

如果我根據TestNG文檔以編程方式調用CommonTests,這將很好地工作。 我的問題是結果沒有記錄在ExampleTest的運行程序中。

@Test
public void actionBasedTest(ITestContext context) {
    TestListenerAdapter tla = new TestListenerAdapter();
    TestNG testng = new TestNG();
    testng.setTestClasses(new Class[] { ExampleAction.class });
    testng.addListener(tla);
    context.getSuite().addListener(tla);
    testng.run();
}

上面的方法稍好一些,但報告返回僅限於“ org.testng.TestRunner@####”之類,並且不公開運行的測試方法。

所以我的問題是:我可以從另一個類(而不是通過繼承)運行測試並將結果記錄到同一偵聽器嗎?

編輯:我想避免testng.xml。

回答最后一個問題,您可以使用testng.xml運行任何類的測試,該測試允許您隨意構建測試。 您可以在suite標記中指定您的偵聽器,該偵聽器將用於所有類。 請參考此示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM