'Impossible de charger une Suite de la classe lors de l'exécution de ScalaTest dans IntelliJ
Je vais avoir quelques problèmes aujourd'hui avec l'exécution d'un simple TestKit test à l'Ide. Les tests sont pour la Scala de code (j'ai la Scala plug-in pour Intellij) et sont basés sur Ray Roestenburg l'exemple de.
La Intellij projet a été créé à l'aide d'un "Module Maven" que j'ai ensuite ajouté de toutes les dépendances et créé mon projet. Les tests sont situés à l'endroit suivant:
ActorBlast/src/test/scala/basicTest.scala
Je suis fondamentalement "clic droit" sur le test et en sélectionnant "Exécuter". Ce que je reçois à est le message d'erreur suivant:
"C:\Program Files\Java\jdk1.7.0_25\bin\java" -Didea.lanceur.port=7540...
Les tests ont commencé à 2:29 PM ...
Impossible de charger une Suite de classe. Cela pourrait être dû à une erreur dans votre runpath.Manque de classe: BasicActorSpec java.lang.ClassNotFoundException:
BasicActorSpec à
java.net.URLClassLoader$1.exécuter(URLClassLoader.java:366)
java.net.URLClassLoader$1.exécuter(URLClassLoader.java:355)
java.de sécurité.AccessController.doPrivileged(Native method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:354) à
java.lang.Chargeur de classe.loadClass(ClassLoader.java:424) à
soleil.misc.Lanceur$AppClassLoader.loadClass(Lanceur.java:308) à
java.lang.Chargeur de classe.loadClass(ClassLoader.java:357)
org.scalatest.outils.Coureur$$anonfun de 35$.appliquer(Coureur.scala:2393) à
org.scalatest.outils.Coureur$$anonfun de 35$.appliquer(Coureur.scala:2391) à
scala.collection.TraversableLike$$anonfun filtre$$1.appliquer(TraversableLike.scala:264)
à la scala.collection.immuable.Liste.foreach(la Liste.scala:318) à
scala.collection.TraversableLike de classe$.filtre(TraversableLike.scala:263)
à la scala.collection.AbstractTraversable.filtre(Traversable.scala:105)
au
org.scalatest.outils.Coureur$.doRunRunRunDaDoRunRun(Coureur.scala:2391)
au
org.scalatest.outils.Coureur$$anonfun$runOptionallyWithPassFailReporter$2.appliquer(Coureur.scala:1006)
au
org.scalatest.outils.Coureur$$anonfun$runOptionallyWithPassFailReporter$2.appliquer(Coureur.scala:1005)
au
org.scalatest.outils.Coureur$.withClassLoaderAndDispatchReporter(Coureur.scala:2659)
au
org.scalatest.outils.Coureur$.runOptionallyWithPassFailReporter(Coureur.scala:1005)
au org.scalatest.outils.Coureur$.exécuter(Coureur.scala:845) à
org.scalatest.outils.Runner.exécuter(Coureur.scala)
org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:144)
au
org.jetbrains.les plugins.scala.testingSupport.scalaTest.ScalaTestRunner.principale(ScalaTestRunner.java:35)
au coucher du soleil.de réfléchir.NativeMethodAccessorImpl.invoke0(Native method) at
soleil.de réfléchir.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
au
soleil.de réfléchir.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
à java.lang.de réfléchir.La méthode.invoke(la Méthode.java:606) à
com.intellij.rt.l'exécution.application.AppMain.principale(AppMain.java:120)Le processus est terminé avec le code de sortie 0
Je ne peux pas comprendre ce que cela signifie. J'ai fait beaucoup de recherche mais n'arrive pas à trouver une réponse. Notez que la catégorie le coureur se plaint de ne pas trouver, c'est la classe je suis en train de tester/exécuter. Le basicTest.scala ressemble à ceci:
//Testing specific imports
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.{ShouldMatchers, WordSpecLike, BeforeAndAfterAll}
import akka.testkit.{TestKit, DefaultTimeout, ImplicitSender}
//Actor specific imports
import akka.actor.{ActorRef, Actor, ActorSystem, Props}
//Misc. needed imports
import scala.concurrent.duration._
import com.typesafe.config.ConfigFactory
//In order to run tests in this module you need to use JUnitRunner (as per scalatest.org)
@RunWith(classOf[JUnitRunner])
class BasicActorSpec extends TestKit(ActorSystem("BasicActorSpec", ConfigFactory.parseString(BasicActorSpec.config)))
with DefaultTimeout with ImplicitSender with WordSpecLike with ShouldMatchers with BeforeAndAfterAll {
import BasicActorSpec._
val echoRef = system.actorOf(Props[EchoActor])
val forwardRef = system.actorOf(Props[ForwardActor])
override def afterAll {
shutdown(system)
}
/**
* The actual tests...
*/
"An EchoActor" should {
"Respond with the same message it receives" in {
within(500 millis) {
echoRef ! "test"
expectMsg("test")
}
}
}
"A Forwarding Actor" should {
"Forward a message it receives" in {
within(500 millis) {
forwardRef ! "test"
expectMsg("test")
}
}
}
}
/**
* Companion object of test class
*/
object BasicActorSpec {
val config =
"""
|akka {
| loglevel = "Warning"
|}
""".stripMargin
/**
* Classes of Actors used in testing
*/
class EchoActor extends Actor {
def receive = {
case msg => sender ! msg
}
}
class ForwardActor(next: ActorRef) extends Actor {
def receive = {
case msg => next ! msg
}
}
}
Toute aide pourquoi j'obtiens cette erreur serait GRANDEMENT apprécié.
OriginalL'auteur MCP | 2013-09-16
Vous devez vous connecter pour publier un commentaire.
Vous devez configurer la Scala SDK.
1.) Généralement, intelliJ vous demandera par l'apparition d'un message sur la droite de votre éditeur
2.) Vous pouvez le faire par vous-même comme mentionné sur la https://www.jetbrains.com/help/idea/discover-intellij-idea-for-scala.html
OriginalL'auteur AMS
Si vous utilisez l'Ide pour exécuter scalatest assurez-vous que la classe chemins d'accès sont corrects. Par exemple:
votre
build.sbt
devrait ressembler,name := "dummyApp"
. Si vous nommezname := "dummy App"
vous obtiendrez des erreurs.OriginalL'auteur Ray Goodwin
Dans mon cas, j'ai été absent de la Scala de la facette dans mon module.
https://blog.jetbrains.com/scala/2010/09/02/project-configuration-explained/
Je me suis débarrassé de l'erreur une fois, j'ai configuré le module correctement.
OriginalL'auteur fglez
C'est comment j'ai résolu le même exception:
OriginalL'auteur yantaq
Exécuter construire le projet, Il m'a aidé à résoudre cette question qui aurait pu m'arriver quand j'ai effacé le Cache IDÉE 🙂 tout en essayant de s'attaquer à un autre problème
OriginalL'auteur AlexPes
Ce problème m'est arrivé récemment, quand j'ai essayé d'exécuter les tests dans hérité d'un projet Scala à l'aide de IntelliJ IDEA 2018 (Community Edition). Les étapes ci-dessous m'a aidé à résoudre le problème:
OriginalL'auteur Rustam Aliyev
Dans mon cas, j'ai eu dans
Preferences -> Build, Execution, Deployment -> sbt
Use sbt shell for build and import
case à cocher activéeEt le test n'a pas été prévue dans le répertoire
src/test
mais danssrc/it
(test intégré).OriginalL'auteur m3th0dman
J'ai rencontré ce problème lorsque j'ai utilisé Gatling
Je résoudre ce problème en remplaçant
gatling-classes
àtest-classes
sur Fichier -> Structure de Projet -> Modules -> Nom du Module -> Chemins d'accès -> Test de chemin de sortieOriginalL'auteur Alex Elkin