【问题标题】:What exactly does @Test annotation of Kotlin test methods do?Kotlin 测试方法的 @Test 注解究竟是做什么的?
【发布时间】:2020-05-01 08:16:00
【问题描述】:

在 Kotlin 中编写单元测试时,测试方法通常使用 @Test 注释。这究竟是做什么的?

也就是说,我在黑盒级别理解,答案是“它使它们被 JUnit 等单元测试框架识别”。但我希望能够查看盒子内部(理想情况下,通过比阅读包含最新版本 JUnit 的约 80,000 行代码更直接的途径)。它是否记录在任何地方,准确地如何识别注释以及它会发生什么?

【问题讨论】:

    标签: java unit-testing kotlin junit


    【解决方案1】:

    作为起点,您可以大致了解 Java 中的注释处理,例如: https://docs.oracle.com/javase/8/docs/api/javax/annotation/processing/Processor.html

    JUnit4中用来读取这个注解的具体类是https://github.com/junit-team/junit4/blob/master/src/main/java/org/junit/internal/runners/TestClass.java

    在高层次上:通过注释处理,您可以执行类似的操作

    List<TestMethods> methods = getTestMethodsWithAnnotation(@Test) methods.foreach(method -> TestRunner.run(method))

    【讨论】:

    • JUnit Test 注解与注解处理无关。
    猜你喜欢
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多