我正在尝试将Test 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()
旁的播放按钮(IntelliJ)进行测试,但在班级却遇到相同的错误。请协助,我已经尝试使缓存无效并重新启动。我看了TestNG No tests found. Nothing was runTestNG - no tests were found,但没有帮助。
def
注释的方法中用void
替换@Test
。如文档所述:测试方法用@Test
注释。除非您在testng.xml中将@Test
设置为true,否则将忽略带有allow-return-values
注释的方法并返回一个值:
<test allow-return-values="true">
来源:https://testng.org/doc/documentation-main.html#test-methods
def
返回类型编译为Object
,而不是void
,因此TestNG默认情况下忽略此方法。这种误解不是TestNG特有的,也可以在JUnit中完成:Running Groovy test cases with JUnit 5