みんな!あなたに新しい質問があります。別のキャッシュマネージャを使用してキャッシュにデータを追加していますが、その問題に直面しています。私はジュニットとスプリングを使ってやっています。テストを実行すると、テストメソッドはランダムに実行されますが、それらを順番に実行する必要があります。どうやってするの??ここではいくつかのコードと証明コンソール出力は次のようになります。junitテストの実行方法を順番に並べる
サービスクラス:ここ
@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);
}
}
はテストです:
@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 time = System.currentTimeMillis();
for (int k=1; k<=1000; k++) {
emcached.Add(key+k, i);
}
long time2 = System.currentTimeMillis();
long timeE=time2-time;
System.out.println("Vremya add BULK objects: " + timeE);
System.out.println("");
}
@Test
public void testGetBulkObjects() {
System.out.println("");
System.out.println("This is getting BULK objects test");
long time = System.currentTimeMillis();
for (int k=1; k<=1000; k++) {
emcached.Get(key+k);
}
long time2 = System.currentTimeMillis();
long timeE=time2-time;
System.out.println("Vremya Get object: " + timeE);
System.out.println("");
}
@Test
public void testDeleteBulkObjects() {
System.out.println("");
System.out.println("This is deleting BULK objects test");
long time = System.currentTimeMillis();
for (int k=1; k<=1000; k++) {
emcached.Delete(key+k);
}
long time2 = System.currentTimeMillis();
long timeE=time2-time;
System.out.println("Vremya delete object: " + timeE);
System.out.println("");
}
そして出力:
This is deleting BULK objects test
Vremya delete object: 137
This is getting BULK objects test
Vremya Get object: 703
This is async BULK adding test
Vremya add BULK objects: 87681
、助けてください!! =)
なぜそれらを順番に実行しますか?テストはどんな順序でも実行できるはずです。あなたはいつも古風なやり方でTestSuiteを作ることができます。 –
私はキャッシュにいくつかのデータを追加してから、それをキャッシュから取得してから削除するので、それを行う必要があります。それが理由です。 – PAcan