9

testng で次の単体テスト ケースを作成する必要があります。

  1. 製品の詳細がDBに正常に保存された場合、productIdを返すsaveProductTest。

  2. modifyProductTest では、以前に保存した productId をパラメーターとして使用する必要があります。

testNg データ プロバイダーを使用して XML ファイルから saveProductTest および modifyProductTest メソッドの製品詳細入力 (PrdouctName、ReleaseDate) を取得しています。productId は save メソッドで生成されるため、modify メソッドに渡す必要があります。

testng で、あるテスト メソッドの出力を別のメソッドに渡す最良の方法は何ですか。

4

3 に答える 3

23

simendsjo に敬意を払いながら、すべてのテストが互いに独立していなければならないという事実は独断的なアプローチであり、多くの例外があります。

元の質問に戻る: 1) 依存メソッドを使用し、2) 中間結果をフィールドに格納します (TestNG はインスタンスを最初から再作成しないため、そのフィールドはその値を保持します)。

例えば

private int mResult;

@Test
public void f1() {
  mResult = ...
}

@Test(dependsOnMethods = "f1")
public void f2() {
  // use mResult
}
于 2010-06-25T21:05:17.157 に答える
3

各単体テストは、他のテストから独立している必要があります。これにより、何が失敗したかをより簡単に確認できます。製品を保存してIDを返すヘルパーメソッドを作成し、両方のテストからこれを呼び出すことができます。

于 2010-06-25T06:11:27.413 に答える