相关疑难解决方法(0)

如何在JUnit4中按特定顺序运行测试方法?

我想执行按@Test特定顺序注释的测试方法.

例如:

public class MyTest {
    @Test public void test1(){}
    @Test public void test2(){}
}
Run Code Online (Sandbox Code Playgroud)

我希望确保test1()在test2()每次运行之前运行MyTest,但我找不到像这样的注释@Test(order=xx).

我认为这对JUnit来说非常重要,如果JUnit的作者不想要订单功能,为什么?

java junit unit-testing junit4

398
推荐指数
11
解决办法
36万
查看次数

如何按顺序制作junit测试运行方法

伙计们!我有一个新问题.我正在使用不同的缓存管理器向缓存添加一些数据,我正面临着它的问题.我是用junit和spring做的.当我运行测试时,测试方法是随机执行的,但我需要按顺序执行它们.怎么做??这是一些代码和证明控制台输出:

服务类:

@Service("HelloCache")
public class CacheServiceImpl implements CacheInterface {
    @Autowired
    @Qualifier("memcachedClient")
    private MemcachedClient mBean;

    public void Add(String key, Object object) {
        mBean.set(key, 12, object);
    }

    public void Get(String key) {
        mBean.get(key);
    }

    public void Delete(String key) {
        mBean.delete(key);
    }    
}
Run Code Online (Sandbox Code Playgroud)

这是测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "file:src/main/java/spring.xml")
public class UsingMemcachedTest extends TestCase {
    @Autowired
    @Qualifier("HelloCache")
    private CacheInterface emcached;
    private byte[][] i = new byte[2500][3000];
    private String key = "j";
    @Test
    public void testAddBulkObjects() {
        System.out.println("");
        System.out.println("This is async BULK adding test");
        long …
Run Code Online (Sandbox Code Playgroud)

java junit spring memcached

11
推荐指数
2
解决办法
4万
查看次数

为junit的@FixMethodOrder创建我自己的MethodSorter

junit 4.11附带@FixMethodOrder-annotation,这使得可以选择MethodSorter实现来订购junit测试.有三个默认分拣机JVM,NAME_ASCENDING和DEFAULT.

现在,我想创建自己的MethodSorter.任何人都可以帮我指点如何做到这一点?

junit junit4

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

junit ×3

java ×2

junit4 ×2

memcached ×1

spring ×1

unit-testing ×1