[英]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.