0
void insertAllRecords(){
    insertRecord("tom", 100);
    insertRecord("jake", 200);
    insertRecord("tim", 300);
    insertRecord("andy", 400);
    insertRecord("mike", 500);
}

JUnitテストデータベースを持つもののテストを書いています。空のデータベースとして開始されます。insertRecordさまざまなことをテストしたいのですが、同じパラメーターで複製したくありません。

実行する行を指定する簡単な方法はありますか? たとえば、@test関数の 1 つにトムとアンディを追加したいだけです。

各テスト方法で、データベースが 0 から始まることを知っています。次のことができるようにしたいです。

  • testA で、tom と jake で db をセットアップします。
  • testB で、andy と mike で db をセットアップします。
  • testC で、それらすべてを使用して db をセットアップします。

しかし、すべてのテストに個別の挿入ステートメントを入れたくありません。いくつかのパラメーターを指定して insertAllRecords を呼び出せるようにしたいと考えています。

ありがとう

4

2 に答える 2

0

私の知る限り、JUnit はあなたが望む動作をサポートしていません。および注釈を使用してテスト固有のセットアップを可能にするTestNGを確認することをお勧めします。また、または注釈付きのパラメーター化されたデータを使用して、より柔軟なテスト データを使用することもできます。@BeforeMethod@AfterMethod@Parameter@DataProvider

于 2012-07-26T03:41:00.183 に答える
0

抽象メソッドを使用して Junit クラスを抽象クラスに変換しますabstract void insertAllRecords();

次に、必要に応じてこのクラスを拡張します。例えば

class TestWithTomClass extends AbstractTestClass{
    public void insertAllRecords(){
       insertRecord("tom", 100);
    }

    @Test
    public void myTestWithTom(){
       ....
    }
于 2012-07-26T05:44:46.960 に答える