我想执行按@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的作者不想要订单功能,为什么?
伙计们!我有一个新问题.我正在使用不同的缓存管理器向缓存添加一些数据,我正面临着它的问题.我是用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) junit 4.11附带@FixMethodOrder-annotation,这使得可以选择MethodSorter实现来订购junit测试.有三个默认分拣机JVM,NAME_ASCENDING和DEFAULT.
现在,我想创建自己的MethodSorter.任何人都可以帮我指点如何做到这一点?