请注意,我已经搜索过这个特殊问题&他们发现了几个,但没有一个与黄瓜融合有关。
我是一个扩展AbstractTestNGCucumberTests的测试运行器类。
我还安装了Eclipse TestNG插件以及6.12
在“运行配置”下的TestNG下添加条目,也没有帮助解决问题。
Mac + Eclipse 4.7.0
@CucumberOptions(features={"src/test/resources/WunderlistAndroid.feature"}, strict = false, format = { "pretty","json:target/cucumber.json" }, tags = { "~@ignore" })
public class WLSignIn extends AbstractTestNGCucumberTests{
@BeforeClass
public void launchAppiumServer(){
//code doing desired action
}
@AfterClass
public void killAppiumServer(){
//code doing desired action
}
}
答案 0 :(得分:2)
问题是因为eclipse TestNG插件在你的类中没有看到任何@Test
方法。我相信插件本质上是上下文的,因此只有当它在测试类中看到至少一个Run As > TestNG Test
方法时才会显示@Test
。由于@Test
方法驻留在您的基类中,插件看不到,因此您没有看到它。
为了解决这个问题,您可以添加一个虚拟测试方法,例如下面的方法,它应该带回Run as > TestNG test
选项。
@Test(enabled=false)
public void dummyTestMethod() {}
旁注:您可能希望将此文件作为问题归档TestNG project,看看它是否值得修复。
可用于错误的详细信息:
如果基类位于jar中(并且有一个或多个@Test
带注释的测试方法),那么eclipse testng插件第一次看不到子类(WLSignIn
)。但是,在将一个禁用的@Test
方法添加到子类(WLSignIn
)后,该选项会显示出来。无论子类是从同一项目中的另一个类扩展还是从另一个驻留在jar中的类扩展(在您的情况下为cucumber.api.testng.AbstractTestNGCucumberTests
)