从 Eclipse 上的 Junit 测试捕获计时数据

发布于 2024-10-29 09:20:46 字数 252 浏览 0 评论 0原文

在 Eclipse Galileo (3.5) 上运行时,我注意到我的测试显示了每次测试运行的时间。有没有办法捕获这些信息?是否有 API 或者它存储在结果文件中?

屏幕截图

在此处输入图像描述 http://ge.tt/3ylDyiq

Running on Eclipse Galileo (3.5), I noticed my tests show the timing of each test run. Is there a way to capture and this information? Is there an API or is it stored in a result file?

Screenshot

enter image description here
http://ge.tt/3ylDyiq

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若言繁花未落 2024-11-05 09:20:46

我们可以使用 Rule 来获取每种测试方法的持续时间:

class TimeConsumeRule implements MethodRule {
    @Override
    public Statement apply(final Statement base, final FrameworkMethod method, Object target) {
        return new Statement() {
            @Override
            public void evaluate() throws Throwable {
                long start = System.currentTimeMillis();
                try {
                    base.evaluate();
                } finally {
                    System.out.println(method.getName()+ " used "+ (System.currentTimeMillis() - start)+" ms;");
                }
            }
        };
    }
}
public class TimeConsume {
    //Just declare customized Rule in your test case.
    @Rule
    public MethodRule rule = new TimeConsumeRule();

      @Test
      public void test1(){ 
       //...
      }

      @Test
      public void test2(){ 
       //...
      }
}

We could use Rule to get time durations for each test method:

class TimeConsumeRule implements MethodRule {
    @Override
    public Statement apply(final Statement base, final FrameworkMethod method, Object target) {
        return new Statement() {
            @Override
            public void evaluate() throws Throwable {
                long start = System.currentTimeMillis();
                try {
                    base.evaluate();
                } finally {
                    System.out.println(method.getName()+ " used "+ (System.currentTimeMillis() - start)+" ms;");
                }
            }
        };
    }
}
public class TimeConsume {
    //Just declare customized Rule in your test case.
    @Rule
    public MethodRule rule = new TimeConsumeRule();

      @Test
      public void test1(){ 
       //...
      }

      @Test
      public void test2(){ 
       //...
      }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文