初めてtestNGを使用していて質問がありました。私は、jsonファイルからいくつかのデータを読み込み、dataProvidersと一緒にデータを使用していくつかのテストを書き込もうとしています。私はjsonファイルからデータを取り出し、テストする必要があるすべてのデータのマップを構築するparseDataメソッドを持つヘルパーファイルを持っています。私の主なテストファイルでは、次のようにテストを定義します:不正なデータプロバイダ設定によるテストのスキップ
私の主なテストファイルでは、tDataHelperクラスのparseDataメソッドを呼び出すBeforeClassメソッドもあります。
テストが実行されるたびに、createStudentsデータプロバイダをデバッグしようとするたびに、tDataHelperファイルに空のマッピングが存在するため、テストはスキップされます。私はこれが静的対インスタンスと関係があると思うし、何が間違っているのか正確には分からない。以下のコードはokのように見え、うまくいくはずですか?誰かがこれについていくつかの光を当てることができますか?
public class testStudents
{
private static tDataHelper helper = new tDataHelper();
@BeforeClass
public void setup() throws Exception
{
tDataHelper.parseData();
}
@FunctionalTest
@Test(dataProvider = "createStudents", dataProviderClass = tDataHelper.class)
public void testCreateStudents(List<Student> studentsToCreate){}
}
public class tDataHelper
{
private static List<Student> studentsToCreate = new HashSet<>();
static void parseData() throws Exception
{
// read in json file and add students to the students list
// studentsToCreate.add(node.parse(....))
}
@DataProvider
public static Object[][] createStudents()
{
return new Object[][]{
{
studentsToCreate
}
}
}
詳細または特定のex十分? –
@amitbhoraniyaこんにちは、私はそれが役立つことを望んでいくつかの詳細を追加しました –
ありがとう...これらは役に立つかもしれません:) –