对于扩展AbstractTestNGCucumberTests的类,未显示Run As TestNG

时间:2017-08-08 05:28:44

标签: eclipse testng testng-eclipse

enter image description here请注意,我已经搜索过这个特殊问题&他们发现了几个,但没有一个与黄瓜融合有关。

我是一个扩展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
    }

}

1 个答案:

答案 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

,都会发生这种情况。
相关问题