オフィスで Junit を使用しようとしています (JVM 1.4): TestCase を拡張する多くのクラスを作成しましたが、 TestSuite を拡張するクラスは作成しませんでした。問題は、 TestSuiteが何をテストしなければならないかをよく理解していないことです。
パッケージのパブリック コントラクト (パッケージのすべてのパブリック クラスのすべてのパブリック メソッド)。
例:public class TestPackageAAA extends TestSuite{ //... public void testSomething{ testSuite.add(new TestFirstClass()); testSuite.add(new TestSecondClass()); } //... }
FirstClass と SecondClass は同じパッケージ AAA に存在します。
統合されていない単一のクラスのリストとして翻訳された機能プロセス?
public class TestProcessBBB extends TestSuite{ //... public void testSomething{ testSuite.add(new TestFirstClass()); testSuite.add(new TestSecondClass()); } //... }
FirstClass を BBB という名前のユーザー プロセスの最初のステップとして (webapp の CRUD 操作のように)、SecondClass を同じプロセスの 2 番目のステップとして使用します (このテストでは、FirstClass と SecondClass は通信しません)。
TestSuite をどのように編成しますか? 最初の方法ですか、それとも2番目の方法ですか?それとも別の方法で?
編集:例で同じクラス名を繰り返しているため、間違っています。混乱を招くためです。これは例の構成です:
ソース
|-->{package} **AAA**
|--->{class}FirstClass
|--->{class}SecondClass
|-->{package} **XYZ**
|-->{class}ThirdClass
テスト
{package} **AAA**
|--->{class}TestFirstClass extends TestCase
|--->{class}TestSecondClass extends TestCase
|-->{package} **XYZ**
|-->{class}TestThirdClass extends TestCase
- 最初の方法:
TestSuiteAAA (testing ディレクトリのルートに配置) は、パッケージ test.AAA 内のすべての TestCase の複合です。
testSuite.add(new TestFirstClass());
testSuite.add(new TestSecondClass());
- 2番目の方法:
TestSuiteBBB (テスト ディレクトリのルートに配置) は、機能プロセスの実行に参加するすべての TestCase の複合体です (例: e コマース Web サイトの管理者にスケジュールされた電子メールを送信する)。TestSuiteBBB は FirstClass と ThirdClass のメソッドを呼び出し、各クラスは他のクラスのメソッドを呼び出しません。
testSuite.add(new TestFirstClass());
testSuite.add(new TestThirdClass());
JUnit を使用すると、どちらの方法でも実行できます (Eclipse でコーディングして実行しました): どちらが好みですか?
PSパッケージの構造のフォーマットについて申し訳ありません:)