- PR -

JUnitはtestメソッドごとにスレッドをたてるのか?

1
投稿者投稿内容
ohmy632
会議室デビュー日: 2003/09/19
投稿数: 4
投稿日時: 2003-09-19 14:18
こんにちは。

さて、タイトルの件ですが、あるJUnitの解説サイトで、
「testメソッド[ public void testxxxx(){} ]は、それぞれ別のスレッドで起動されている」
といったことが紹介されていますが・・・。

これって、本当でしょうか?

私の確認したところ、すべてのtestメソッドは1スレッドインスタンスで起動されていました。
textui,swingui,そして、Eclipseからの起動で試しましたが全て同じです。
ソースを確認しても、testメソッドごとにスレッドを立てているところは見つかりませんでした。

どなたか、ご存知の方がいれば教えてください。

なお、JUitのバージョンは、「3.8.1」です。

いたち
常連さん
会議室デビュー日: 2003/04/25
投稿数: 27
投稿日時: 2003-09-19 15:28
ども。

「testメソッドが別スレッドで起動されている」ということは知らなかったのですが、調べてみるとTestSuiteを作るときに、junit.extensions.ActiveTestSuiteを使用すると、testXXX毎に別スレッドになるようです。

public class AllTests {
 public static Test suite() {
  ActiveTestSuite suite = new ActiveTestSuite();
  suite.addTest(new ActiveTestSuite(LightTest.class));
  return suite;
 }
}

他にもやりかたがあるのかもしれませんが・・・。
ohmy632
会議室デビュー日: 2003/09/19
投稿数: 4
投稿日時: 2003-09-19 16:55
こんにちは。

そうですね。
ActiveTestSuiteが存在するのだから、通常は1スレッドで動作
すると考えることができますね。

ちなみに、そのサイトは
「http://www.techscore.com/tech/Java/JUnit/4.html」
のことです。
#リンクフリーでしたので紹介します。

このサイトにも問い合わせてみたいと思います。

1

スキルアップ/キャリアアップ(JOB@IT)