Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TestNG中的注释是强类型的。这是什么意思?_Java_Selenium_Testng - Fatal编程技术网

Java TestNG中的注释是强类型的。这是什么意思?

Java TestNG中的注释是强类型的。这是什么意思?,java,selenium,testng,Java,Selenium,Testng,在《下一代Java测试:TestNG和高级概念》一书中,有人说“注释是强类型的,因此编译器将立即标记任何错误。”。我知道强类型语言在对变量执行操作之前会检查变量的类型,而弱类型语言则不会。此外,强类型语言需要显式转换,而弱类型语言执行隐式转换。那么,“强类型”一词在这里意味着什么呢?这本书最有可能尝试的是区分以下两种方法: 使用方法名称约定来识别测试方法 (例如)JUnit3就是这种情况,测试方法的名称将以test作为前缀(例如testSomeLogic())。这使得测试库能够区分那些实际被视为

在《下一代Java测试:TestNG和高级概念》一书中,有人说“注释是强类型的,因此编译器将立即标记任何错误。”。我知道强类型语言在对变量执行操作之前会检查变量的类型,而弱类型语言则不会。此外,强类型语言需要显式转换,而弱类型语言执行隐式转换。那么,“强类型”一词在这里意味着什么呢?

这本书最有可能尝试的是区分以下两种方法:

  • 使用方法名称约定来识别测试方法
    (例如)JUnit3就是这种情况,测试方法的名称将以
    test
    作为前缀(例如
    testSomeLogic()
    )。这使得测试库能够区分那些实际被视为测试的方法和其他设置或实用程序方法

  • 使用注释识别测试方法
    在TestNG和JUnit的更高版本中,方法倾向于使用特定的测试相关注释(例如
    @test
    )来注释方法。这里的目标是相同的,它允许测试库正确识别测试和其他与测试相关的方法

  • 使用注释的好处是它们是实际的Java类型,并且将由编译器检查。错误地使用注释
    @Tset
    将导致编译错误,并提醒用户该问题


    编译器无法检测到方法名称中的拼写错误。方法
    tsetSomeLogic()
    将不会执行,用户将不知道。

    谢谢您的回答。顺便说一下,您说过注释是Java类型的。你所说的Java类型是什么意思。数据类型。我明白了。字符串,Int,。。。是Java语言的内置数据类型。@Test是Java语言的内置类型还是通过TestNG框架链接到Java语言?您能澄清一下吗?它是由TestNG框架定义的注释类型。注释类型本身的概念是Java语言固有的(自Java 5以来)。Cedric Beust创建了一系列新的注释类型以在其框架中使用。他之所以能够创建注释类型,是因为Java语言在Java5中定义了注释类型的概念和行为。