【问题标题】:Annotations in TestNG are strongly typed. What does it mean?TestNG 中的注释是强类型的。这是什么意思?
【发布时间】:2018-12-01 11:24:39
【问题描述】:

在《Next Generation Java Testing: TestNG and Advanced Concepts》一书中说“注解是强类型的,所以编译器会立即标记任何错误。”。我知道强类型语言在对其执行操作之前会检查变量的类型,而弱类型语言则不会。此外,强类型语言需要显式转换,而弱类型语言执行隐式转换。那么,这里的“强类型”是什么意思呢?

【问题讨论】:

    标签: java selenium testng


    【解决方案1】:

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

    1. 使用方法名称约定来标识测试方法
      在(例如)JUnit 3 中就是这种情况,其中测试方法的名称将以test 为前缀(例如testSomeLogic())。这允许测试库区分那些实际被视为测试的方法和其他设置或实用方法。

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

    使用注解的好处是它们是实际的 Java 类型,并且会被编译器检查。错误使用注解@Tset会导致编译错误,提醒用户注意问题。

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

    【讨论】:

    • 感谢您的回答。顺便说一句,您说注解是 Java 类型。 Java 类型是什么意思?
    • here
    • 好的。数据类型。我知道了。 String, Int,... 是 Java 语言的内置数据类型。 @Test 是 Java 语言的内置类型还是通过 TestNG 框架链接到 Java 语言?你能澄清一下吗?
    • 是TestNG框架定义的注解类型。注释类型的概念本身是 Java 语言所固有的(从 Java 5 开始)。
    • Cedric Beust 创建了一系列新的注释类型以在他的框架中使用。他能够创建注解类型是因为 Java 语言在 Java 5 中定义了注解类型的概念和行为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2014-05-02
    • 2018-01-02
    • 1970-01-01
    • 2010-11-29
    相关资源
    最近更新 更多