首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用junitperf运行junit4测试

使用junitperf运行junit4测试
EN

Stack Overflow用户
提问于 2008-11-27 13:33:53
回答 3查看 6.5K关注 0票数 2

可以将Junitperf与junit4一起使用吗?我有一个简单的带有多个测试的Junit4测试类,我想对该类进行一次TimedTest测试。我该怎么做呢?

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

代码语言:javascript
复制
public class TestCitta {

    @Test
    public void test1 {}

        @Test
    public void test2 {}
}

对于junit3,我应该这样写:

代码语言:javascript
复制
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?

EN

回答 3

Stack Overflow用户

发布于 2010-04-01 01:22:43

我也有同样的问题,但我不太幸运,试图让它在不同的构建环境中运行。因此,我使用了从JUnit 4开始提供的@Rule特性来使用注释注入性能测试调用和需求检查。它变成了一个小型库,在这个项目中取代了JUnitPerf,我以contiperf的名字发布了它。如果你对这种方法感兴趣,你可以在https://github.com/lucaspouzac/contiperf找到它。

票数 8
EN

Stack Overflow用户

发布于 2011-11-11 17:46:31

如果你已经有了junit4,为什么不使用contiperf呢?它会做你想做的事情,并带有注解。

POM是这样的。

代码语言:javascript
复制
 <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>

测试类如下所示

代码语言:javascript
复制
public class PersonDAOTest {
@Rule
public ContiPerfRule i = new ContiPerfRule();

实际的测试是这样的

代码语言:javascript
复制
@Test
@PerfTest(invocations = 1, threads = 1)
@Required(max = 1200, average = 250)
public void test() {
票数 5
EN

Stack Overflow用户

发布于 2011-05-23 18:15:23

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/323782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档