Набор TestNG.xml для включения всех пакетов всех файлов - программирование
Подтвердить что ты не робот

Набор TestNG.xml для включения всех пакетов всех файлов

Совместимость с тестовой средой с Maven + TestNG + Selenium.

Как вы объявляете suite.xml, который сообщает TestNG, чтобы запускать ВСЕ тесты? Я пробовал все это безрезультатно:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
  <test name="all">
    <classes>
      <class name="*" />
    </classes>
  </test>
</suite>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
  <test name="all">
    <groups>
      <run>
        <include name="*" />
        <exclude name="disabled" />
      </run>
    </groups>
  </test>
</suite>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
  <test name="all">
    <packages>
      <package name="*" />
    </packages>
  </test>
</suite>

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

4b9b3361

Ответ 1

Должен использовать. * чтобы соответствовать всем им, насколько я знаю.

Ответ 2

Вы можете добавить все тестовые классы внутри пакета, объявив testng.xml файл как

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="sampleTest" parallel="false">

    <test name="sample-Test" preserve-order="true" verbose="2">
        <packages>
            <package name="org.sample.something.*"/>
        </packages>
    </test>

</suite>

Невозможно пройти тесты в качестве параметров поиска. Если вы хотите сделать что-то подобное, вам нужно реализовать пакет в коде и реализовать там сценарий поиска.

Ответ 3

Предположим, у вас есть трехуровневый пакет, ваши тестовые классы находятся под пакетом com.abc.xyz.

<package name="*" /> </packages> , doesn't work. 
<package name="com.*.*" />  doesn't work. 
<package name="com.abc.*" />  does work.

Ответ 4

У AFAIK testng нет опции регулярного выражения, как вы ищите.

Но, я думаю, вы можете получить то, что хотите, двумя способами:

  • Если вы работаете над Eclipse с плагином Testng. Вы можете просто выбрать тестовую папку, в которой определены все пакеты. С maven это будет в основном ваша папка src/test/java, щелкните правой кнопкой мыши и скажите, как запустить testg. Что бы это сделало, так это создать временный файл customuite.xml, в котором будут перечислены все ваши классы. Вы можете сохранить xml в качестве xml по умолчанию.

  • Плагин surefire с maven имеет возможность указать includes, а затем шаблон. Вы можете попробовать установить его в */. Java, который, я думаю, будет загружать все тестовые файлы (хотя и не пробовал). Затем вы можете вызывать свои тесты в качестве теста mvn.

Ответ 5

Ниже работает с 3 уровня Pkg на TestNg

<package name="orgPkg.namePkg.appnamePkg.applicationPkg.functionalityPkg"/></packages>