我正在使用帶有testng插件(版本6.14.0.201802161500)的eclipse 2018-09(4.9.0)。我創建了一個maven項目,以從教程中學習testng。我想在Eclipse中運行testng工廠方法,但運行菜單中沒有“ testng”選項。如何使其在工廠運行?我的代碼:package com.learn.classes;import org.testng.annotations.Test;//run with testng is present for this.public class SimpleTest { @Test public void simpleTest() { System.out.println("Simple test Method"); }}package com.learn.factory;import org.testng.annotations.Factory;import com.learn.classes.SimpleTest;//run with testng is NOT present for this.public class SimpleTestFactory { @Factory public Object[] factoryMethod() { return new Object [] {new SimpleTest(), new SimpleTest()}; }}解決方案: 為上述類或方法創建一個xml套件,并使用testng運行它。前任。myfactory.xml<suite name="Factorty Methods" verbose="1"> <test name="My factory method"> <classes> <class name="factory.SimpleTestFactory" /> <methods> <include name="factoryMethod" /> </methods> </classes> </test></suite>
1 回答

拉丁的傳說
TA貢獻1789條經驗 獲得超8個贊
之所以看到此行為,是因為TestNG eclipse插件會在@Test
通過右鍵單擊啟用該上下文選項之前,在一個類中查找任何測試方法(至少一個帶有注釋的方法)。
對于工廠(例如您的示例代碼的SimpleTestFactory
外觀),沒有測試方法。這就是為什么它禁用該Run As > TestNG test
選項的原因。
因此,替代方法之一是基本上創建一個套件xml文件,添加一個引用SimpleTestFactory
,然后通過套件文件運行它。
您還可以在Eclipse TestNG插件github頁面上提交問題,并詢問是否可以解決。
理想情況下,帶@Factory
注釋的方法也可以視為起點。我不知道它的可行性。
我知道IntelliJ可以做到這一點。
添加回答
舉報
0/150
提交
取消