微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为测试类执行 Java 提供顺序

如何解决为测试类执行 Java 提供顺序

我有三个测试类来测试我的控制器、服务和 Kafka 消息传递。当我独立运行 Kafka 消息传递时,它可以工作。但是当我一起运行所有测试文件时,Kafka 测试类只要它是第一个被执行的就会通过,否则它会失败。

我想通过确保 Kafka 测试类始终是第一个执行来对测试类的执行进行排序。

我怎样才能做到这一点?使用测试套件?有没有其他办法?我的应用程序是使用 Micronaut、Java 8 构建的。

解决方法

尝试使用有助于测试执行顺序的@OrderWith 注释

None

以上代码将按照方法名称的字母数字顺序运行测试。

我们还可以使用@FixMethodOrder 注释来提及必须对方法进行排序和执行的顺序。目前有3种选择

  • MethodSorters.DEFAULT

  • MethodSorters.NAME_ASCENDING

  • MethodSorters.JVM

    @FixMethodOrder(MethodSorters.NAME_ASCENDING) 公共类 TestMethodOrder { ..... }

参考文献:https://github.com/junit-team/junit4/wiki/Test-execution-order

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。