Тестов с бегуном 'JUnit 4' не найдено - PullRequest
98 голосов
/ 25 февраля 2010

Мой тест Java хорошо работал в Eclipse. Но теперь, когда я снова запускаю тест из меню запуска, я получаю следующее сообщение:

No tests found with test runner 'JUnit 4'

В файле .classpath у меня есть все файлы jar, а в конце:

<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Как я могу устранить эту ошибку и снова запустить тесты?

Ответы [ 36 ]

0 голосов
/ 11 августа 2015

Есть еще один шанс, вы могли бы изменить Junit Test с более низкой версии (например, Junit 3) на Junit 4. Это так, выполните следующие шаги: -

1. Right Click on class
2. Select Run as >> "Run Configurations"
3. Check your "Test Runner" option in new window
4. If it not same as maven change it for example change it as Junit 4.
0 голосов
/ 15 июля 2015

Использование ScalaIDE (3.0.4-2.11-20140723-2253-Typesafe) У меня была похожая проблема с контекстным меню Right Click Scala Test Class-> Run As -> Scala Junit Test.

Я попытался отредактировать класс (но не из-за ошибки компиляции), очистить, закрыть проект, закрыть Eclipse. Ни один из них не работал, чтобы восстановить контекстное меню для классов, которые ранее работали хорошо. Тестовые классы не используют аннотацию @Test, а вместо этого используют аннотацию @RunWith(classOf[JUnitRunner]) вверху класса с использованием кода ScalaTest.

Когда я попытался выбрать Scala Junit Test непосредственно из редактора запуска конфигурации, я получил диалоговое окно с вопросом. Ответ Footix29 был ключевым для меня.

Я заметил, что, хотя я несколько раз чистил свой проект, мои классы в каталоге / bin фактически не перестраивались в течение некоторого времени.

Вот как я вернулся в контекстное меню и смог снова запустить Scala Junit Test s:

  • manually очистил классы, удалив /bin/<package dir>* через Проводник
  • Project -> Clean редактировал проект вместе с полной перестройкой

Я подозреваю, что редактирование классов в целом способно очистить некоторое сохраненное состояние Eclipse и запустить его снова. В моем случае все предыдущие рабочие классы, которые я пробовал, потерпели неудачу, так что чистый шаг manual был просто молотком, который мне был нужен. Тем не менее, другие приемы, которые влияют на концепцию Eclipse относительно пути к классу / состояния сборки, также должны работать.

Кроме того, я думаю, что это поведение было вызвано частично попыткой реорганизовать класс Scala, переименовав его (в чем сосет среда Scala Eclipse), где вся очистка после первоначального изменения файла выполняется вручную. Не было никаких ошибок сборки, но также не было предупреждений о том, что что-то определенно застряло в информации о состоянии сборки Eclipse.

0 голосов
/ 12 марта 2015

Я начал работать с Selenium и Eclipse на своей работе, проводил свой первый автоматический тест и удалил примечания из кода @Before, @Test и @After, и у меня возникла эта проблема "Тестов с тестом не найдено бегун junit4 ".

Моим решением было просто снова добавить заметки @Before, @Test и @After, и с этим мой скрипт работал. Важно не удалять это из кода.

Это простой тест, который использует Google для поиска чего-либо:

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;

import org.junit.*;

import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class TestingClass {

    private WebDriver driver;
    //Creates an instance of the FirefoxDriver
    **@Before**
    public void SetUp() throws Exception {
        driver = new FirefoxDriver();
    }

    **@Test**   
    //Search using keyword through Google Search
    public void TestTestClass2 () throws Exception {
        driver.get("http://www.google.com.mx/");
        driver.findElement(By.name("q")).sendKeys("selenium");
        Thread.sleep(10000);
        driver.findElement(By.name("btnG")).click();
        Thread.sleep(10000);
    }

    //Kill all the WebDriver instances
    **@After**
    public void TearDown() throws Exception {
        driver.quit();
    }

}
0 голосов
/ 11 декабря 2016

Я также столкнулся с этой проблемой при реализации @RunWith (Cucumber.class). Так как эта аннотация была внутри класса Public и, следовательно, Eclipse Показывает эту ошибку «Не найдено ни одного теста с исполнителем теста».

После того, как я позвонил / разместил аннотацию бегуна перед классом бегуна, тесты показали себя хорошо.

Читатели должны определить, какой Junit Test Runner они используют. Можно проверить с помощью @RunWith (JUnit4.class) значение Снаружи или внутри скобки runner.class {} Если его внутри, пожалуйста, поместите его снаружи.

0 голосов
/ 22 октября 2013

Я также использую Eclipse с Maven (m2e 1.4).Тесты выполнялись с Maven, но не с Eclipse ... даже после нескольких применений Maven>Update project.

Моим решением было добавить несколько строк в .classpath, сгенерированный m2e.Линии теперь слипаются.

<classpathentry kind="src" output="target/test-classes" path="src/test/java">
  <attributes>
    <attribute name="optional" value="true"/>
    <attribute name="maven.pomderived" value="true"/>
  </attributes>
</classpathentry>
0 голосов
/ 19 января 2019

Моя проблема заключалась в использовании **

TestNG

** пакет org.testng.Assert;

Вы можете заменить его в библиотеках проекта ( Maven ) на JUnit, а затем необходимо выполнить рефакторинг проекта.
ИЛИ добавьте подключаемый модуль TestNG Eclipse

http://testng.org/doc/eclipse.html

0 голосов
/ 25 апреля 2011

Я обнаружил, что Eclipse, похоже, выполняет тесты в стиле JUnit 3 только в том случае, если ваш тестовый класс расширяется от TestCase. Если вы удалите наследство, аннотации сработали для меня.

Помните, что вам необходимо статически импортировать все необходимые assert* методы, такие как import static org.junit.Assert.*.

0 голосов
/ 10 февраля 2016

Щелкните правой кнопкой мыши Проект -> Зависимости сборки -> удалите те, которые были исключены из пути сборки -> Нажмите OK

Щелкните правой кнопкой мыши Проект -> Maven -> Обновить проект.

Тебе должно быть хорошо идти ..

0 голосов
/ 28 апреля 2016

Вы можете решить эту проблему, выполнив следующие действия:

  • Щелкните правой кнопкой мыши папку с именем «Test»> Build Path> Use as Source Папка
  • Или вы можете установить classpath так же, как: <classpathentry kind="src" path="src/test/java"/>. Вы заменяете "src / test / java" на свой тестовый пакет

Эта проблема возникла из-за того, что junit не может распознать ваш исходный код: D

0 голосов
/ 26 июля 2010

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

...