Powermockをmavenで実行することができません。私はjUnitテストを動かすためのPowerMock MockitoとPowerMockRunnerです。JuniperとPowerMockをMockitoからPowerMockRunner経由で実行中
@RunWith(PowerMockRunner.class)
@PrepareForTest({ UserLocalServiceUtil.class, ExpandoBridge.class })
public class AlertNotificationsTest {
//...
私は、テストを実行するための特殊なanytingを設定していない:
は、ここでのテストです。私のpomは以下のdepsを参照しています:
- org.mockito | mockito-all | 1.8.0
- 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>
ここでMavenの
からの出力ですMVN -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とうまく実行します。
更新は、私は問題がある可能性&回避策を見つけました。私はTestNGとJUnitでテストしています。 TestNGをpomから削除してすべてのテストをJUnitに移行すると、mvn test
でPowerMockテストを実行できます。だから、mavenとjunit/testngのコンボには問題があるようです。
私は両方を実行できるようにしたいと思いますが、方法が見つからない場合は、自分の質問に答えて行きます。 みんなありがとう&ギャル
は( 'junit.framework.TestCase'を延長しない)テストトリガされます'mvn test'を実行するだけですか? –
いいえ、トリガーされません。 –
それから、 '-Dtest'を使用しているとは思わないでください。あなたは別の問題を抱えています(ソースを見つけたようです)。 –