6

ho avuto computer-database applicazione dalla cartella l'esempio di playframework2:playframework2 e Scala: come avviare test da IDEA?

  1. cd computer del database
  2. gioco
  3. prova

Got: Tutti i test superato. (Che cosa è è ok)

Ma quando provo a lanciare quei test in IntelliJ IDEA:

  1. cd computer del database
  2. idea gioco
  3. progetto open dall'idea
  4. click destro del mouse su ModelSpec , quindi -> Esegui 'Model Spec' e ricevi il messaggio "Non c'è nessuna applicazione avviata java.lang.RuntimeException: Nessuna applicazione avviata"
  5. if: play eseguire (applicazione Rinning), poi ottenuto: gioco cache esiste già net.sf.ehcache.ObjectExistsException: gioco cache esiste già
  6. se andare a localhost: 9000 per rendere il tutto essere compilato, applicando lo script evoluzione quindi ottenuto (di nuovo): non v'è iniziato java.lang.RuntimeException applicazione: non v'è alcun iniziato applicazione

domanda è: come lanciare questi test da IDEA?

risposta

2

Sto vedendo lo stesso problema con La riproduzione della cache esiste già net.sf.ehcache.ObjectExistsException: la riproduzione della cache esiste già errore. Non ho una buona soluzione per questo, ma sono riuscito a risolverlo aggiungendo ehcacheplugin=disabled al file application.conf. Questo ha risolto il problema per ora.

+0

ho disabilitato l'ehcacheplugin ed è risolto il problema di cache per me, ma poi ho scoperto invece che i miei test di unità non avrebbero aggiornare i record! Creare nuovi record va bene, ma aggiornarli con save() o update() non ha alcun effetto quindi ho dovuto riattivare nuovamente ehcacheplugin. –

1

Ho avuto lo stesso problema, e ne è venuto dal fatto che:

  • gioco era due volte nel classpath (2.1 e 2.0.4)
  • o EHCache itseld stato due volte.

Quindi, in entrambi situazione, il problema potrebbe essere risolto controllando il rapporto dependencies per i duplicati e aggiungendo notTransitive() alle dipendenze (nella SBT o .scala file) che sono importare altre versioni.

Nota: notTransitive() rimuoverà tutte le risoluzioni transitive, è possibile utilizzare exclude("<def>") per restringere la risoluzione transitiva escludendone solo alcune - in modo esauriente.

3

Provare a rimuovere il contenitore di riproduzione dal percorso di classe IDEA.

Lo trovate alla voce "progetto strucure -> Librerie"

+0

Grazie, l'ho fatto per me, selezionare la libreria di riproduzione e rimuovere i -sources.jar dalle Classi. –