如何在Go Test IntelliJ中重复运行一个或一组测试

u7up0aaq  于 2023-10-14  发布在  Go
关注(0)|答案(3)|浏览(126)

有时候我会遇到这种烦人的测试,这些测试会出现间歇性的问题,我需要运行很多次才能暴露出来。我正在寻找一种方便的方法来设置一个数字或“无限循环”从intellij,但我没有找到。
有没有一个插件,或者我错过了一些东西,可以让我这样做,从用户界面(而不是改变它的代码)。
编辑:因为我发现支持这样的功能是每个测试实用程序插件。例如,它已经存在于JUnit中,但Go Test中没有。我的直觉告诉我,应该为所有的测试插件提供这样的功能,但是每个插件的方法可能有一些技术上的原因。

bn31dyow

bn31dyow1#

在测试的运行配置中有一个“重复:“选项,您可以在其中指定重复次数,例如直到测试失败。我相信这是自IntelliJ IDEA 15以来可用的。

nzkunb0c

nzkunb0c2#

You can use oracle JDK to create a executor service which schedules the running /execution of the test suite periodically unless you shut down the service 

Please have a look at the below oracle doc 

https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html

Sample 

 import static java.util.concurrent.TimeUnit.*;
 class BeeperControl {
   private final ScheduledExecutorService scheduler =
     Executors.newScheduledThreadPool(1);

   public void beepForAnHour() {
     final Runnable beeper = new Runnable() {
       public void run() { System.out.println("beep"); }
     };
     final ScheduledFuture<?> beeperHandle =
       scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
     scheduler.schedule(new Runnable() {
       public void run() { beeperHandle.cancel(true); }
     }, 60 * 60, SECONDS);
   }
 }
nukf8bse

nukf8bse3#

基于@Bas Leijdekkers的评论

IntelliJ IDEA 2023.2.2

右键单击测试类或测试->更多运行/配置->修改运行配置. ->

修改选项->重复

选择N次

“重复计数:“将出现现在只是申请和你自由去:)

相关问题