Как передать путь к файлу методу провайдера данных

У меня есть 2 метода тестирования (@Test ()), мне нужны данные из разных файлов для этих тестовых случаев, и я использую поставщик данных в обоих тестовых случаях, как мой поставщик данных может читать путь к файлу для каждого теста.

 @DataProvider(name = "dp")
      public Object[][] getData() throws FileNotFoundException {
          JsonArray array = new JsonParser().parse(new FileReader("src/test/resources/TestInputFiles/workspace/demo.json")).getAsJsonArray();
          Object[][] data = new Object[array.size()][1];
          for (int i = 0; i < array.size(); i++) {
              data[i][0] = array.get(i);
          }
          return data;
      }
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
437
1

Ответы 1

Вы можете передать метод тестирования в качестве параметра поставщику данных. Один из вариантов:

  1. На основе имени теста можно выбрать файл.

Или же

  1. вы можете создать собственную аннотацию для имени файла и аннотировать свои тесты аннотацией, а затем использовать объект Method выше, чтобы получить значение аннотации. Это поможет в случае, если количество тестов больше.

Другие вопросы по теме