Я не могу запустить Powermock через maven. Я - PowerMock Mockito и PowerMockRunner для запуска теста jUnit.Запуск Junit & PowerMock с помощью Mockito через PowerMockRunner от maven
Вот тест:
@RunWith(PowerMockRunner.class)
@PrepareForTest({ UserLocalServiceUtil.class, ExpandoBridge.class })
public class AlertNotificationsTest {
//...
Я не настроен anyting специально для выполнения теста. Мой pom ссылается на следующие отпечатки:
- org.mockito | mockito-all | 1.8.0
- junit | junit | 4.6.0
- org.powermock.modules | powermock-module-junit4 | 1.3.1
- org.powermock.api | Полимер-апи-мокито | 1.3.1
Когда я запустил mvn -Dtest=AlertNotificationsTest test
mvn говорит, что нет теста для запуска. Но если я запускаю один и тот же тестовый класс из eclipse, все работает нормально.
Я что-то не так?
Вот мой pom.xml ниже (соответствующие части)
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.9</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.8.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock.modules</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock.api</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Вот выход из мавена
МВН -Dtest = AlertNotificationsTest тест
...
[INFO] Surefire report directory: C:\Devel\Java\EP_PORTAL\information-provider\target\surefi
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.313 sec
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] No tests were executed! (Set -DfailIfNoTests=false to ignore this error.)
[INFO] ------------------------------------------------------------------------
Примечание: Я могу запускать другие тесты, я просто не могу выполнить этот тест. Если я делаю AlertNotificationsTest
класс удлинителем junit.framework.TestCase
, класс будет зависеть от maven, но, похоже, он не управляется PowerMockRunner
.
Вот вывод, что:
Running TestSuite
[ERROR]: No test suite found. Nothing to run
Tests run: 4, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 1.053 sec <<< FAILURE!
Results :
Failed tests:
testSingleEventNotification(pt.estradasportugal.traffic.services.events.AlertNotificationsTest)
testTwoEventNotification(pt.estradasportugal.traffic.services.events.AlertNotificationsTest)
Tests run: 4, Failures: 2, Errors: 0, Skipped: 0
Опять же, эти тесты нормально работают с Eclipse.
Update Я нашел возможную проблему & обходной путь. У меня есть тесты с TestNG и JUnit. Если я удалю TestNG из моего pom и перенесу все свои тесты на JUnit, я смогу запустить мой тест PowerMock с помощью mvn test
. Таким образом, кажется, что есть проблема с maven и junit/testng комбо.
Хотелось бы иметь возможность запускать оба, но если я не найду способ, я пойду и отвечу на свой вопрос. Спасибо ребят & галлонов
ли тест (не распространяющие 'junit.framework.TestCase') срабатывающие когда вы просто запускаете 'mvn test'? –
Нет, это не срабатывает. –
Тогда даже не ожидайте, что это произойдет при использовании '-Dtest'. У вас есть другая проблема (и похоже, что вы нашли источник). –