2016-01-22 9 views
6

Próbuję znaleźć przyczynę, dla której otrzymuję błędy, gdy próbuję uruchomić niektóre testy, które zostały utworzone i uruchomione jakiś czas temu. Jest to klasa Test:Test Junit z @RunWith (PowerMockRunner.class) kończy się niepowodzeniem - "Nie znaleziono testów pasujących do ..."

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"); 
    } 

} 

Tutaj jest błąd, gdy próbuję uruchomić „test_nothing” metody klikając prawym przyciskiem myszy, wybierz „Uruchom jako próbę/Junit”.

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) 

Na ścieżce budowania tego projektu znajduje się wiele plików jar. Sądzę, że powinienem spróbować stworzyć nowy projekt i sprawdzić, czy problem się pojawia. Na marginesie - po uruchomieniu testu na metodzie w innym badaniu, które ma ten - to działa dobrze bez błędu powyżej:

@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 

Jeśli nie ma potrzeby udzielenia dodatkowych informacji, proszę dać mi znać, co i jak mogę idź i zdobądź te informacje dla siebie.

Dzięki, Michael

+0

czy próbujesz użyć innej nazwy klasy? na przykład: OnewayOldFormatterTest –

+0

Powyższa metoda była dużym testem Junit, który działał wcześniej i stworzyłem go. Na początku nie całkiem zrozumiałem twoją sugestię, ale zmieniono nazwę na inną. Ten sam wynik. Próbowałem nawet innych klas testowych z tym samym wynikiem. Zrobiłem wiele wyszukiwania tego problemu i zrobiłem wszystkie sugestie bez rezultatów. To musi być coś z moim komputerem, ponieważ współpracownik jest w stanie działać bez problemów. – schu777

+0

Powiedziałbym, że 'PowerMockRunner' próbuje znaleźć wszystkie wartości PowerMock, aby zastąpić je własnymi implementacjami. Wygląda na to, że nic nie ustawiłeś. Spróbuj dodać adnotację '@ PrepareForTest' zawierającą przynajmniej jedną klasę, aby mógł ją wybrać biegacz ... – SKBo

Odpowiedz

6

chodzi o 'org.powermock:powermock-api-mockito2:1.6.5' wersji Powermock udało mi tę pracę przesuwając @PrepareForTest adnotacji z poziomu metody do poziomu klasy.

+0

Świetnie, uratowałem mój dzień! Dzięki! – Brain

+0

dzięki ... zaoszczędziłem też mój dzień – Asthme

Powiązane problemy