In letzter Zeit habe ich versucht, meine Spock-Tests in IntelliJ laufen (die früher sehr gut funktionierte und große Debugging/spezifische Testwiederholung auf Fehlerfunktionen hatte) in den letzten Monaten habe ich begann die folgende Fehlermeldung erhalten:Schwierigkeitsgrad läuft Grails Tests in IntelliJ: Illegale Verwendung von nicht virtuellen Funktionsaufruf
| Error Error executing script TestApp:
(class: com/company/MyServiceSpec, method: super$2$oldImpl signature:
(Ljava/lang/Object;)Ljava/lang/Object;)
Illegal use of nonvirtual function call (Use --stacktrace to see the full trace)
Es ist ein spock Test, der ganz gut von der Kommandozeile ausgeführt wird, einzeln (durch die die Klasse definiert) oder in den gesamten Test-App-Serie. Praktisch alle Spock- und einfachen alten Unit- oder Integrationstests, die ich bei diesem Projekt durchgeführt habe, führen zu ähnlichen Fehlern in IntelliJ.
Ich habe versucht, mit den Laufeigenschaften des Tests (Klassenpfad ein- oder ausgeschaltet, eine einzelne Methode, eine ganze Testklasse oder die gesamte Testreihe laufen zu lassen) ohne Glück die Situation zu beheben. Ich habe auch eine grails clean
gemacht und versucht, sie von IntelliJ zu wiederholen: das sah aus, als ob es einmal funktioniert hat und ich die Tests für eine kleine Weile ausführen konnte, aber dann, nachdem ich einige Arbeit gemacht habe, besteht das Problem jetzt weiter.
Ich weiß, dass dies eine vage Frage ist, aber hat jemand ähnliche Fehler gesehen und ein zuverlässiges Mittel gefunden? Ich bin auf Grails 2.1 und Spock 0,7, das gleiche Problem in beiden IntelliJ 12 und 13
Ist es möglich, dass Sie Ihre Tests über IntelliJ mit einer anderen Grails/Groovy-Version ausführen, gegen die die Klassen nicht kompiliert werden? – Gregg
Ich bin mir ziemlich sicher, dass ich sie richtig konfiguriert habe (unter Projektstruktur ist es eine gelistete Abhängigkeit), aber ich habe das schon mal gemuckt, danke für den Vorschlag! –
Rob Fletcher hat mir empfohlen, die Tests als JUnit zu testen, ich werde demnächst eine Chance geben! –