JUnitで複数スレッド(マルチスレッド)実行
<参考>
<つくった>
ProjectJUnitTest.zip - Google ドライブ
インポート文とか書かれてなかったし、動くものが必要な時を考えてプロジェクト化。
Java10、JUnit4で作ってます。おそらくJava10じゃなくても動くはず。
※ただし、JUnitは4で。後述参照。
やっぱソース書いてくれる人は、いるとすごい嬉しいけど、
ソースヘッダも書いてほしいかも(´・ω・`)
ばかには何を入れたらいいか分からないのです。。
というわけでダウンロードすれば使えます。
<注意>
JUnit4でないと動きませんでした。。
5にしてたら何も起きず。何か方法が違うんだろうな。
方法はわかってないのでとりあえず未解決カテゴリ行き。。
19/02/15 JUnit5でも動きましたので訂正
JUnitの追加・バージョンの変更は
プロジェクト→プロパティ→Javaのビルド・パス→ライブラリーから。
<追加 18/12/06>
まだまだRuleについて勉強不足だけど、これを使っていろいろできそう。
例えば、サーバアクセス数制限を50に設定して、マルチスレッドで60回やる。
その中で、アクセス数超過のエラーが出たらOK、出なかったらNG、のJUnit。
とか。
ループが終わった後にassertするか、
ループの途中でフラグを立てるなどで評価できれば、いけそう。。
<追加 19/02/15>
なんとJUnit5でもできた。エラーが出たのはまた別の原因かもしれない。。
プロジェクトといわずソース単体で置いといた。
Ruleが同時実行するためのモジュール、Sampleがそれを使ったJUnit。
- JUnitThreadRule.java - Google ドライブ
- JUnitThreadRuleSample.java - Google ドライブ