Ant accumulo - Codice Emma strumentazione - test JUnit bisogno di interfacce, Emma non lo fa loro strumento

StackOverflow https://stackoverflow.com/questions/3161672

Domanda

Ho un file Ant dove compilo il codice sorgente Java dell'applicazione e dei test, strumento delle classi di applicazioni, test JUnit esecuzione e generare JUnit e Emma rapporti di copertura del codice. Il compito JUnit è dato il percorso per le classi strumentati.

Il problema è che le interfacce non sono strumentati ( Emma FAQ ) ma le uso nelle prove e JUnit non li riesco a trovare.

mi viene in mente 2 soluzioni:

  • non utilizzare interfacce nei test (va contro la programmazione per le interfacce -? Questo conterà nei test)
  • copiare le interfacce accanto alle classi strumentati (hard-codifica il percorso per le interfacce)

Come devo affrontare e risolvere questo problema?

È stato utile?

Soluzione

Sembra a me come se lei sta dicendo che JUnit sta avendo difficoltà perché le interfacce non sono sul percorso di classe?

La solita risposta sarebbe quella di metterli lì.

La risposta rapida e sporca potrebbe essere quella di mettere il classpath per le classi non strumentati nel percorso di classe juint dopo il percorso per le classi di strumentazione. Il caricatore di classe dovrebbe usare la prima corrispondenza che trova, in modo che le implementazioni strumentate saranno consumati al posto delle implementazioni non strumentati, ma le interfacce sarà ancora disponibile.

Se questo risolve il problema, si consiglia di sostituire il rapido e sporco con qualcosa di più robusto, come fare le interfacce disponibili in un vaso che è separato dalla implementazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top