2016-01-22 27 views
6

Bazı testler çalıştırmaya çalışırken neden hata alıyorum nedenini anlamaya çalışıyorum oluşturuldu ve bir süre geri yürüdü. Bu test sınıftır: Ben tarafından "test_nothing" yöntemini çalıştırmayı denediğinizde İşte @RunWith (PowerMockRunner.class) ile Junit testi başarısız - "Hiçbir eşleşme bulunamadı .."

package com.chw.pxi.impl.oneway.formatter; 

import org.junit.Before; 
import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.powermock.modules.junit4.PowerMockRunner; 

@RunWith(PowerMockRunner.class) 
public class OnewayOldFormatterTestsWhy 
{ 
    @Before 
    public void setUp() 
    { 
    } 

    @Test 
    public void 
    test_nothing() 
    { 
     System.out.println("Yep"); 
    } 

} 

hatadır sağ tıklayın "Çalıştır/JUnit testi" seçin.

java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test_nothing], {ExactMatcher:fDisplayName=test_nothing(com.chw.pxi.impl.oneway.formatter.OnewayOldFormatterTestsWhy)], {LeadingIdentifierMatcher:fClassName=com.chw.pxi.impl.oneway.formatter.OnewayOldFormatterTestsWhy,fLeadingIdentifier=test_nothing]] from [email protected] 
    at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

bu proje için yapı yolundaki kavanoz dosyalarının çok sayıda bulunmaktadır. Sanırım yeni bir proje oluşturmayı ve sorunun devam edip etmediğini görmeyi denemeliyim. Bir yan not - Bu olan başka testte bir yöntem üzerinde bir test çalıştırdığınızda - Yukarıdaki hatasız ince çalıştırır: gereken ek bilgi yoksa, ben yapabilirsiniz bana ne bildirin ve nasıl lütfen

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations={"dao-tests-context.xml"}) 
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true) 
//Note: This is a live database test but transactions will be rolled back 
//except those that invoke methods that require new transactions 
public class AgencyDaoTests 

Git ve bu bilgiyi senin için al.

Teşekkürler, Michael

+0

Başka bir sınıf adıyla deniyor musunuz? örneğin: OnewayOldFormatterTest –

+0

Yukarıdaki yöntem, daha önce çalışan ve bunu oluşturduğum büyük bir Junit sınamasıydı. İlk başta önerinize pek açık değildim, fakat sınıfı başka bir isimle değiştirdim. Aynı sonuç. Aynı testte başka test dersleri bile denedim. Bu sorun için çok sayıda arama yaptım ve hiçbir öneride bulunmadan tüm önerileri yaptım. İş arkadaşım sorunları olmadan çalıştırabileceğinden bilgisayarımla bir şey olmalı. – schu777

+0

'PowerMockRunner', kendi uygulamalarıyla değiştirmek için tüm PowerMock değerlerini bulmaya çalışır. Belirttiğiniz görünmüyor. İçinde en az bir sınıf bulunan bir '@ PrepareForTest 'notu eklemeye çalışın, böylece koşucu tarafından alınabilir… – SKBo

cevap

6

Powermock ait 'org.powermock:powermock-api-mockito2:1.6.5' sürümü gelince bu sınıf düzeyine yöntem seviyesinden @PrepareForTest ek açıklama taşıyarak çalışmak başardı.

+0

Harika, günümü kurtardım! Teşekkürler! – Brain

+0

Teşekkürler .. benim de günü kurtardı – Asthme

İlgili konular