使用 junitperf 运行 junit4 测试

发布于 2024-07-09 15:46:58 字数 781 浏览 6 评论 0原文

可以将 Junitperf 与 junit4 一起使用吗? 我有一个包含多个测试的简单 Junit4 测试类,我想对该类的单个测试进行 TimedTest。 我怎样才能做到这一点?

更清楚地说,我的 Junit4 类类似于:

public class TestCitta {

    @Test
    public void test1 {}

        @Test
    public void test2 {}
}

使用 junit3 我应该写类似:

public class TestCittaPerformance {

    public static final long toleranceInMillis = 100;

    public static Test suite() {

        long maxElapsedTimeInMillis = 1000 + toleranceInMillis;

        Test testCase = new TestCitta("test2");

        Test timedTest = new TimedTest(testCase, maxElapsedTimeInMillis);

        return timedTest;
    }

    public static void main(String args[]) {
        junit.textui.TestRunner.run(suite());
    }
}

使用 Junit4?

It' possible to use Junitperf with junit4?
I've a simplet Junit4 test class with several tests and I want to do a TimedTest on single test of that class. How can I do that?

To be more clear my Junit4 class is something like:

public class TestCitta {

    @Test
    public void test1 {}

        @Test
    public void test2 {}
}

with junit3 i shold write something like:

public class TestCittaPerformance {

    public static final long toleranceInMillis = 100;

    public static Test suite() {

        long maxElapsedTimeInMillis = 1000 + toleranceInMillis;

        Test testCase = new TestCitta("test2");

        Test timedTest = new TimedTest(testCase, maxElapsedTimeInMillis);

        return timedTest;
    }

    public static void main(String args[]) {
        junit.textui.TestRunner.run(suite());
    }
}

with Junit4?

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

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

发布评论

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

评论(3

不忘初心 2024-07-16 15:46:58

我遇到了同样的问题,但尝试让它在不同的构建环境中运行时并不幸运。 因此,我使用 JUnit 4 以来可用的 @Rule 功能来使用注释注入性能测试调用和需求检查。 结果它成为一个小型库,在这个项目中取代了 JUnitPerf,我以 。 如果您对这种方法感兴趣,可以在 https://github.com/lucaspouzac/contiperf。

I had the same problem but was not lucky trying to make it run in different build environments. So I used the @Rule feature available since JUnit 4 to inject performance test invocation and requirements checking using annotations. It turned out to become a small library which replaced JUnitPerf in this project and I published it under the name . If you are interested in this approach, you can find it at https://github.com/lucaspouzac/contiperf.

寂寞笑我太脆弱 2024-07-16 15:46:58

如果你已经有了 junit4,为什么不使用 contiperf。 它将做你正在寻找的事情并带有注释。

POM 是这样的。

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.10</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.databene</groupId>
  <artifactId>contiperf</artifactId>
  <version>2.0.0</version>
  <scope>test</scope>
</dependency>

测试类是这样的

public class PersonDAOTest {
@Rule
public ContiPerfRule i = new ContiPerfRule();

实际测试是这样的

@Test
@PerfTest(invocations = 1, threads = 1)
@Required(max = 1200, average = 250)
public void test() {

If you have junit4 already, why dont you use contiperf. It will do what you are looking for and with annotations.

POM goes like this.

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.10</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.databene</groupId>
  <artifactId>contiperf</artifactId>
  <version>2.0.0</version>
  <scope>test</scope>
</dependency>

The test class goes like this

public class PersonDAOTest {
@Rule
public ContiPerfRule i = new ContiPerfRule();

And the actual test goes like this

@Test
@PerfTest(invocations = 1, threads = 1)
@Required(max = 1200, average = 250)
public void test() {
七度光 2024-07-16 15:46:58

或者您可以使用注释:@Test(timeout=1000)

Or you can use the annotation: @Test(timeout=1000)

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