Netbeans: "Выполнить -> Тестовый проект" ничего не делает

У меня есть много тестов JUnit, которые все созданы помощником Netbeans (так что ничего не настроено). Я могу запустить каждый тест вручную, выполнив "Файл теста" (Ctrl+F6).

Но когда я использую "Выполнить -> Тестовый проект", отображается сообщение "Тесты не выполнены".

Нужно ли регистрировать каждый тест JUnit где-нибудь?
Или в чем может быть проблема здесь?

Перед этим в окне вывода появляется следующее:

init:
Deleting: /MY-WORK/my.data.adv/build/built-jar.properties
deps-jar:
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties
my.commons.init:
my.commons.deps-jar:
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties
my.commons.compile:
Copy libraries to /MY-WORK/my.commons/dist/lib.
my.commons.jar:
my.data.init:
my.data.deps-jar:
Updating property file: /MY-WORK/my.data.adv/build/built-jar.properties
my.data.compile:
Copy libraries to /MY-WORK/my.data/dist/lib.
my.data.jar:
compile:
compile-test:
test-report:
test:
BUILD SUCCESSFUL (total time: 0 seconds)

РЕДАКТИРОВАТЬ

  • Тип проекта "библиотека классов", нет пользовательских настроек в build.xml используются.

  • Возможно, уместно упомянуть, что проект старый (создан с некоторой версией Netbeans до 6.7).

4 ответа

Решение

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

Если вы создаете проект Java->Class Library с помощью NetBeans, вы можете создать модульный тест, связанный с каждым из классов в исходных пакетах вашего проекта. Вам просто нужно щелкнуть правой кнопкой мыши класс в проводнике проектов.

Если вы создаете "первый тест" для проекта, среда IDE позволяет выбирать между JUnit 3 и JUnit 4.

Когда вы создаете тест для a bcNewClass, NetBeans позволит вам назвать тест как угодно и поместить тест в любой пакет, который вы хотите... в большинстве случаев вы не хотите изменять значения по умолчанию, которые появляются в диалоговом окне (a bcNewClassTest). В сборках NetBeans 6.9 появится предупреждение, если имя создаваемого теста не содержит суффикс "Test".

Если вы создаете имена тестовых классов, которые не заканчиваются на "Test", вы все равно можете заставить их работать при использовании действия Test в проекте. Вы просто должны вызвать их из "нормального" тестового класса.

Спасибо пользователю vkraemer!

Решение: только тесты JUnit запускаются, когда их имя заканчивается на Test,

Раздел от build-impl.xml доказывает это:

<target depends="init,compile-test,-pre-test-run"
    if="have.tests" name="-do-test-run">
  <j2seproject3:junit testincludes="**/*Test.java"/>
</target>

Если вы используете Maven, вы можете проверить свой плагин surefire на pom.xml

...
 <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.11</version>
            <configuration>
                <includes>
                    <include>**/*Test.java</include>                        
                </includes>
                <systemPropertyVariables>
                    <java.util.logging.config.file>src/test/resources/logging.properties</java.util.logging.config.file>
                </systemPropertyVariables>
            </configuration>
        </plugin>


  ...

Мои тесты работали, затем они остановились, просто отображая:

Тесты не выполнены.(0,0 с)

Проблема заключалась в дополнительном пространстве в VM Options: после -D, Это вызвало проблемы:

-D mysetting.home=something

и это исправило это:

-Dmysetting.home=something
Другие вопросы по тегам