it-roy-ru.com

TestNG не выполняет тесты в наборе тестов

Я пытаюсь запустить набор тестов, используя 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

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

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 но он тоже не справился. 

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

7
ILikeTacos

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

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

а не например 

import org.junit.Test;
16
teejay

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

7
Sindhu

Судя по всему, 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>
4
ILikeTacos

У меня возникла похожая проблема, и она была решена путем выполнения проекта в Eclipse (Project-> Clean-> Clean Selected project)

2
Yolan Moodley

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

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

1
Arwen

Я столкнулся с той же проблемой, я обновил/установил TestNG с торговой площадки Eclipse, он работал для меня 

0
Pavan Test

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

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

    а. com.beust.jcommander_1.72.0.jar

    б. org.Apache-extras.beanshell.bsh_2.0.0.b6.jar

    с. org.testng_6.14.2.r201802161450.jar

    д. or.yaml.snakeyaml_1.17.0.jar

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

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

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

0
Richie_b

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

src/test/Java/com/temporary/core

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

src/test/resources/com/temporary/Core

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

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

0

Очень просто, но иногда трудно заметить. @Test не выбирается, когда соответствующий поставщик данных не возвращает никаких данных. 

0
user10761294

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

0
KjetilNordin

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

0
sue