Sto configurando un progetto usando Play 2 e sono già in grado di eseguire il debug dell'applicazione web utilizzando il debug remoto di eclipse. Tuttavia, mi piacerebbe anche utilizzare i punti di interruzione lungo i miei test. Qualcuno sa come l'unità di installazione verifica il debug remoto?Come eseguire il debug dei test con Play! 2.0
risposta
Questo accade perché le forcelle di riproduzione (SBT) separano la JVM per i test, senza le opzioni necessarie per il debug remoto. Hai almeno due opzioni: disabilita il fork della nuova JVM, passa le opzioni aggiuntive alla JVM utilizzata per i test.
Per disabilitare forchetta, modificare Build.scala, aggiungere fork in (Test) := false
, osservare le esempio Build.scala di seguito:
import sbt._
import play.Project._
object ApplicationBuild extends Build {
val appName = "so1"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean
)
val main = play.Project(appName, appVersion, appDependencies).settings(
// Add your own project settings here
Keys.fork in (Test) := false
)
}
Per passare le opzioni aggiuntive, aggiungere è possibile utilizzare questo codice:
val main = play.Project(appName, appVersion, appDependencies).settings(
Keys.javaOptions in (Test) +=
"-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998"
)
Sarà necessario configurare l'IDE per utilizzare la porta 9998 da allegare ai test. Inoltre, sarà necessario riattaccare il debugger ogni volta che si eseguono dei test, il che potrebbe risultare inopportuno.
Grazie per la risposta. Non sto più giocando, quindi non so se questa risposta è corretta, né ho tempo di provarla. Se avrà più upvotes, lo contrassegnerò in seguito come accettato. –
Posso confermare che funziona (Riproduzione 2.1.0) – Skyr
un modo migliore è impedire il test al fork come descritto [here] (http://stackoverflow.com/a/16742485/508064). Ciò consente di utilizzare la stessa connessione sia per l'app che per il test e la connessione è aperta mentre la console di gioco è in esecuzione, quindi non è necessario ricollegare il debugger. – roterl
ho utilizzare Eclipse o meglio Scala ide
invece di correre "giocare" corro questo comando "gioco debug" poi il gioco doveva stampare questo messaggio:
Listening for transport dt_socket at address: 9999
il $ pronta normale per il gioco apparirebbe. quindi immettere il comando "run"
da Eclipse, ho impostato il punto di interruzione e fare clic su "Esegui -> Debug configurazioni ..." look per "Java Remote Application" a sinistra e fare clic su "Launch Nuova configurazione" (l'icona piccola, in alto a sinistra, appare come un'icona 'nuovo documento'). la porta predefinita sarebbe 8000, cambiarla in 9999 e cambiare la macchina, molto probabilmente si utilizzerebbe localhost. e fare clic sul pulsante [Debug]
che dovrebbe farlo. carica il normale http://localhost:9000
sul tuo browser aspetta che l'applicazione raggiunga il punto di interruzione.
questo non aiuta con il test di unità di debug, però, sarebbe stata una soluzione utile se fosse per il debug remoto un'applicazione gioco – Stowelly
mi ha aiutato :) – JustGoscha
Disattivando il fork e l'esecuzione parallela nell'ambiente di test, è possibile eseguire il debug dei test. Solo si dovrebbe aggiungere questi fine righe del file build.sbt
:
parallelExecution in Test := false
fork in Test := false
- 1. Come eseguire il debug dei test delle unità Django?
- 2. Come eseguire il debug dei test falliti in Django?
- 3. Manca il comando 'debug' da Play 2.0 installato da Typesafe
- 4. Come eseguire il debug dei report jasper?
- 5. Utilizzo di Eclipse con Play Framework 2.0
- 6. Test MultipartFormData in Play 2.0 FakeRequest
- 7. Come eseguire il debug dei file CMakeLists.txt?
- 8. Come eseguire il debug dei programmi WCF
- 9. Play 2.0 best practice dei modelli
- 10. Play 2.0 Installazione di FakeApplication con configurazione di test
- 11. come eseguire il debug con xUnit?
- 12. Debug dei test di Codeception con Xdebug
- 13. Come definire un tag con Play 2.0?
- 14. Impossibile eseguire il debug dei test unitari con il testerunner del ripetitore
- 15. Eseguire il debug del test mocha.js remoto con node-inspector?
- 16. È possibile eseguire il debug dei test PhpUnit con l'opzione --process-isolation?
- 17. play-framework [2.0] HTTPS
- 18. Specificare la porta Play 2.0 con "dist"
- 19. Angularjs + OAuth + Play 2.0
- 20. Gestione delle dipendenze con applicazioni Play 2.0
- 21. Come eseguire il debug WebSockets con Wireshark
- 22. Come eseguire il debug dei test dell'unità mbunit/Gallio nello studio di visualizzazione
- 23. Test di javascript con Mocha: come posso utilizzare console.log per eseguire il debug di un test?
- 24. Come eseguire il debug dei test Jasmine eseguiti da Grunt in Visual Studio Code?
- 25. Come eseguire il debug dei test di strumentazione in Android Studio?
- 26. Come eseguire il debug dei test unitari in Visual Studio Code
- 27. database mongodb con Java play 2.0
- 28. database mongodb con scala play 2.0 tutorial
- 29. Come eseguire il debug play framework 2.1.0 scala tests in intellij
- 30. Come eseguire il debug del debug?
fa questo aiuto? http://stackoverflow.com/questions/10859064/how-to-debug-play-2-unit-test-for-server-side – Behe
No, non lo è. Sto usando il gioco e non lo stack typesafe. –
Hai provato il comando: 'play debug ~ test' – adis