2016-01-22 18 views
6

Sto cercando di capire il motivo per cui sto ricevendo errori quando sto cercando di eseguire alcuni test che sono stati creato e ha funzionato qualche tempo fa. Questa è la classe di test:Il test di Junit con @RunWith (PowerMockRunner.class) non riesce - "Nessun test trovato corrispondente .."

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

} 

Qui è l'errore quando si tenta di eseguire il metodo "test_nothing" di tasto destro del mouse, scegliere "test/Junit Esegui come".

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) 

Ci sono molti file jar nel percorso di generazione per questo progetto. Credo che dovrei provare a creare un nuovo progetto e vedere se il problema segue. Una nota a margine - quando corro un test su un metodo in un altro test che ha questo - funziona bene anche senza l'errore precedente:

@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 

Se non vi sono informazioni aggiuntive necessarie, per favore fatemelo sapere cosa e come posso andare in giro e ottenere queste informazioni per te.

Grazie, Michael

+0

provate con un altro nome di classe? ad esempio: OnewayOldFormatterTest –

+0

Il metodo sopra riportato era un test di Junit di grandi dimensioni che funzionava prima e l'ho creato. All'inizio non ero abbastanza chiaro al tuo suggerimento, ma ho rinominato la classe con un altro nome. Stesso risultato Ho anche provato altre classi di test con lo stesso risultato. Ho fatto molte ricerche per questo problema e ho fatto tutti i suggerimenti senza risultati. Deve essere qualcosa con il mio computer come un collaboratore in grado di funzionare senza problemi. – schu777

+0

Direi che 'PowerMockRunner' tenta di trovare tutti i valori PowerMock per sostituirli con le proprie implementazioni. Non sembra che tu ne abbia impostato alcuno. Prova ad aggiungere un'annotazione '@ PrepareForTest' con almeno una classe in modo che possa essere selezionata dal corridore ... – SKBo

risposta

6

Per quanto riguarda 'org.powermock:powermock-api-mockito2:1.6.5' versione di Powermock sono riuscito questo lavoro spostando @PrepareForTest annotazione dal livello di metodo a livello di classe.

+0

Grande, ho salvato la mia giornata! Grazie! – Brain

+0

grazie .. ho salvato anche la mia giornata – Asthme

Problemi correlati