如何使用Quarkus实时重载运行单个测试



我们的测试套件需要5分钟才能运行(我想主要是因为在每次测试之前都设置了Kafka容器(。

当运行mvn quarkus:dev并进行测试时,我不知道如何只重新运行一个测试,也就是我正在进行的测试

如果我的测试失败了,而且是唯一一个失败的测试,那也没关系。但一旦它变绿,如果我更改测试代码,quarkus就不会再运行它了。如果我正在进行重大更改,quarkus将运行所有失败的测试,并且我无法清楚地遵循我正在进行的测试的结果。

我可以使用mvn verify来运行单个测试,但编译时间和应用程序启动时间让它太无聊,并破坏了思维流。

如何告诉quarkus在运行时只运行一些特定的测试?

您不能在单独使用Quarkus的连续测试中运行单个测试;它决定运行哪些测试。但是,您可以使用以下命令运行单个测试:

mvn test -Dtest="TestClassName#TestMethodName"

请注意,此命令将再次编译整个项目。

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.domain.TestClassName
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.259 s - in com.domain.TestClassName
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

另一种选择是通过IntelliJ IDEA的运行配置来运行它。

Quarkus Dev模式有一些简洁的选项可以帮助您。只需运行mvn quarkus:dev并让他进行测试。然后,如果你有一个失败的测试,你可以enable "broken only" mode by hitting 'b',这将只运行中断的测试,直到你再次点击"b"将其禁用。点击"h"查看更多精彩内容。

如果您只想手动运行中断的测试,而不是r(用于重新运行(,请点击"f"(用于重新启动失败的测试(。

这将提高你的工作效率,让你微笑(如果它对你有用的话(。

最新更新