TestNG не запускает тесты в testing suite

Я пытаюсь запустить набор тестов с помощью XML и TestNG, но я всегда получаю одно и то же сообщение, используя оба: Eclipse и командную строку:

[TestNG] Running:
  /Users/achavez/Programs/Selenium/java/src/tests/resources/testng.xml


===============================================
TestingSuite1
Total tests run: 0, Failures: 0, Skips: 0
===============================================

файл читается правильно, но кажется, что тесты не работают.

это содержимое моего testng.XML-код:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestingSuite1" verbose="1">
    <test name="Test1"  >
        <packages>
            <package name="tests"/>
        </packages>
    </test>
</suite>

и вот как выглядит моя структура каталогов в Eclipse:

TestNG Directory Structure in Eclipse

кроме того, это также, как я пытаюсь запустить тестирование suite через командную строку:

java -jar /Applications/Zend Studio.app/Contents/Resources/Java/plugins/org.testng.eclipse_6.8.6.20141201_2240/lib/testng.jar src/tests/resources/testng.xml

Я попытался очистить проект через eclipse, и это, похоже, не помогло. Я также попытался запустить:

mvn clean но это тоже не сработало.

любая помощь, указывая мне в правильном направлении будет принята с благодарностью!

9 ответов


вы также можете проверить импорт для импортированной тестовой аннотации, должно быть:

import org.testng.annotations.Test;
@Test
public myTest(){ ... }

а не например:

import org.junit.Test;

Мне пришлось изменить модификатор доступа к методу на public из private, чтобы заставить его работать .


по-видимому, TestNG ошибается в отношении создания XML-файла для набора тестов.

хотя, следуя их инструкциям в письме, мои тесты не были запущены. Я закончил с этим testng.xml файл и мои тесты, начали работать:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestingSuite" parallel="none">
  <test name="Test1">
    <classes>
      <class name="tests.Page1"/>
    </classes>
  </test>
    <test name="Test 2">
        <classes>
            <class name="tests.Page2"/>
        </classes>
    </test>
</suite>

Я испытал аналогичную проблему, и она была решена путем выполнения проекта clean в Eclipse (Project-> Clean-> Clean Selected project)


в моем случае аннотация @Test была автоматически импортирована IDE как import org.junit.Test.

после изменения его import org.testng.annotations.Test тесты были подобраны правильно.


в моем случае тест был случайно отмечен как" enabled = false " внутри @Test (...). Убедитесь, что значение для вас имеет значение "true".


У меня также была эта проблема, и ни одно из вышеперечисленных решений не сработало. Перезапуск Eclipse, однако, сделал. Я знаю, что это кажется ненужным ответом, но я сам сэкономил бы много времени,если бы сделал это раньше, поэтому я все равно отправлю его.


у меня была такая же проблема, и вот мои результаты: В моем проекте у меня был тестовый файл в

src/test/java/com/temporary/core

и в то же время у меня были ресурсы для теста в

src/test/resources/com/temporary/Core

Как я обнаружил, testng попытался найти тестовый файл во втором каталоге.

когда я переименовал каталог с ресурсами из Core в tcore, проблема была исправлена.


у меня была эта же проблема, вот что сработало для меня:

  1. Я поместил все библиотеки TestNG в отдельную папку lib в моем проекте

    a. com.beust.jcommander_1.72.0.jar

    b. org.apache-extras.beanshell.bsh_2.0.0.b6.jar

    c. org.testng_6.14.2.r201802161450.jar

    d. or.yaml.snakeyaml_1.17.0.jar

  2. Я также поместил копию selenium-server и chromedriver в папку lib, а также

  3. из моей папки проекта (с testng.xml расположенном в проекте корень) я побежал:

    java -cp .\lib\*;.\target\classes org.testng.TestNG testng.xml