&引用;未发现针对给定includes的测试;将TestNG与Groovy一起使用时

&引用;未发现针对给定includes的测试;将TestNG与Groovy一起使用时,groovy,testng,Groovy,Testng,我正在尝试将测试NG与Groovy一起使用。我实现了一个简单的测试类,但每当我尝试运行它时,就会出现以下错误: No tests found for given includes: [tests.OTP.get] 下面是tests.OTP类的外观: class OTP{ public static Logger log = LogManager.getLogger(HomePage.class.getName()) String environment = 'qatesting

我正在尝试将测试NG与Groovy一起使用。我实现了一个简单的测试类,但每当我尝试运行它时,就会出现以下错误:

No tests found for given includes: [tests.OTP.get]
下面是
tests.OTP
类的外观:

class OTP{
    public static Logger log = LogManager.getLogger(HomePage.class.getName())
    String environment = 'qatesting'
    String number = '0769878787'
    @Test
    def get(){
//        SoapuiOTP s = new SoapuiOTP(environment,number)
//        s.getOTP()
        log.info("hello")
        Assert.assertEquals(0,System.getProperty("SOAPUI_OTP"))
        log.info System.getProperty('SOAPUI_OTP')
    }
}
我使用
def get()
旁边的play按钮(IntelliJ)来运行测试,但在类级别上会出现相同的错误。请协助,我已尝试取消缓存并重新启动。我已经看过了
,但它没有帮助。

在用
@Test
注释的方法中,您需要将
def
替换为
void
。正如文件所说:

测试方法用
@Test
注释。除非在testng.xml中将
允许返回值
设置为true,否则使用
@Test
注释的方法碰巧返回值时将被忽略:

<test allow-return-values="true">


资料来源:

def
返回类型编译为
Object
,而不是
void
,因此TestNG默认情况下忽略此方法


这种误解不是TestNG特有的,也可以在JUnit中实现:

谢谢,用java学习和改用groovy都有它的缺点。我所有的方法都很痛苦,哈哈。谢谢:)