この3つのメソッドをそれぞれ10個の同時スレッドとして実行するJUnitベースのコードは何でしょうか。複数の同時スレッドでテスト・メソッドのセットを実行
@RunWith(SpringJUnit4ClassRunner.class
@SpringBootTest
public class TestClass {
@Test
public void readFromDBOneRecord(){
try {
dbService.findOneByID("1");
} catch (Exception error) {
Assert.fail("Unexpected error occured .");
}
}
@Test
public void writeToDBOneRecord(){
try {
dbService.save(entity.builder()
.setID("1").setName("John").build())
} catch (Exception error) {
Assert.fail("Unexpected error occured .");
}
}
@Test
public void deleteDbRecord(){
try {
dbService.delete("1");
} catch (Exception error) {
Assert.fail("Unexpected error occured .");
}
}
}
場合によっては、一部のメソッドで例外がスローされることがあります。 delete
がwriteToDBOneRecord
より前に実行されている場合と同様です。 だから配列は、メソッドごとにのみ3スレッドについて言うことになる例えば:
OperationNr|| OperationName || [ThreadNr/total threads per method]OperationType
1. write [2/3]w
2. read [1/3]r
3. read [3/3]r
4. delete [2/3]d
5. read [2/3]r
6. delete [3/3]d ->exception no record
7. write [1/3]w
8. write [3/3]w ->exception record already present
9. delete [1/3]d
何だろう10件の同時スレッド(合計30)にそれぞれこの3試験方法を実行するためのコード?
すべてを並行して実行したいですか? –
すべてのスレッドはここで1と同じIDを使用しますか? –
定義済みのスレッド数で各テストメソッドを実行したい。だから私は3つの同時ライタースレッドと同時に実行される5つの同時読み取りスレッドを持っていたい。したがって、2つのテストメソッドは並行して8つのスレッドによって同時に実行されます。 – mCs