Подтвердить что ты не робот

Запуск одного теста в maven → Никаких тестов не было выполнено!

Когда я запускаю один тест в Maven с помощью этой команды:

mvn test -Dtest=InitiateTest

Я получаю следующий результат:

No tests were executed!

Он работал пару минут назад, но теперь он почему-то прекратил работать. Я попытался запустить mvn clean пару раз перед запуском теста, это не поможет.

Тест выглядит следующим образом:

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class InitiateTest {

public static FirefoxDriver driver;

@Before
public void setUp() throws Exception {
   driver = new FirefoxDriver();
}

@Test
public void initiateTest() throws Exception {
      driver.get("http://localhost:8080/login.jsp");
      ...
}

@After
public void tearDown() throws Exception {
driver.close();

}   }

UPDATE:

Это вызвано добавлением этой зависимости в POM:

<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium</artifactId>
   <version>2.0b1</version>
   <scope>test</scope>
</dependency>

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

<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-support</artifactId>
   <version>2.0b1</version>
   <scope>test</scope>
</dependency>
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-firefox-driver</artifactId>
   <version>2.0b1</version>
   <scope>test</scope>
</dependency>

Это странно.

4b9b3361

Ответ 1

Вы, вероятно, собираете JUnit3 в своем пути к классам, что эффективно отключает JUnit4.

Запустите mvn dependency: tree, чтобы узнать, откуда он входит, и добавьте исключение в зависимость.

Ответ 2

Возможно, вы видите эту ошибку, которая, как говорят, влияет на surefire 2.12, но не на 2.11?

Ответ 3

У меня была та же проблема. Это было вызвано зависимостью testng, которая появилась с junit3. Просто добавьте в него инструкцию исключения, и тесты должны работать.

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium</artifactId>
  <version>2.0b1</version>
  <exclusions>
    <exclusion>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
    </exclusion>
  </exclusions>
</dependency>

Ответ 4

Я изменил "maven-surefire-plugin" на версию 2.14.1 (от 2.12) и помог

Ответ 5

Была аналогичная проблема, связанная с зависимостью jtestr. Оказывается, одна из его зависимостей собирала junit-3.8.1. Я решил это, используя выражение об исключении ниже

<dependency>
  <groupId>org.jtestr</groupId>
  <artifactId>jtestr</artifactId>
  <exclusions>
   <exclusion>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
   </exclusion>
  </exclusions>
  <version>0.6</version>
  <scope>test</scope>
</dependency> 

Ответ 6

изменилось с 2.6 на 2.18.1 и теперь все работает

Ответ 7

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

mvn clean install -DskipTests=True

И затем запустите тестовую команду из каталога, в котором находился тестовый пакет pom

mvn test -Dtest=TestClass

Также убедитесь, что значение параметра skip равно true. Например, в моем файле pom значение по умолчанию skip равно true.

 <properties>
    <skipTests>true</skipTests>
</properties>


<build>
    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>${skipTests}</skip>
            </configuration>
    </plugin>
</build>

Поэтому, когда я запускаю тест maven, я устанавливаю его на false

mvn test -Dtest=TestUserUpdate* -DskipTests=false

Ответ 8

Попробуйте запустить maven в режиме отладки. Это может дать вам больше информации.

mvn -X -Dtest=InitiateTest test

Ответ 9

В моем случае я запускал один тест, используя mvn test -Dtest = MyTest. Моя ошибка заключалась в том, что в единственном тесте была отмечена аннотация @test, поэтому в файле junit не было найдено никаких тестов. Doh!

Ответ 10

В сеансе сборки pom.xml включите это:

 <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <version>2.14.1</version>
     </plugin>
    </plugins>
  </build>

Ответ 11

Возможно, так же бесполезно, как и моя последняя попытка, но я просто прочитал тестовый класс JUnit 4, который должен быть импортирован org.junit.Test. * и org.junit.Assert. *. Поскольку у вас нет импорта Assert, возможно, стоит попробовать это быстро, чтобы быть уверенным...

Ответ 12

Я действительно не понимаю, как аннотация @Test обрабатывает ваш тест, но можете ли вы попробовать префикс вашего тестового метода с помощью "теста"?

public void testInit() throws Exception {
      driver.get("http://localhost:8080/login.jsp");
      ...
}

Ответ 13

mvn test -Dtest='xxxx.*Test' -Dmaven.test.failure.ignore=true  -DfailIfNoTests=false

У меня есть тот же вопрос, что не было выполнено никаких тестов! Мое предложение добавляет еще один параметр, который -Dmaven.test.failure.ignore=true -DfailIfNoTests=false может решить.