Essayer d'obtenir ScalaTest de travail: “Il n'existe pas de tests à exécuter” lorsque vous faites “mvn test”
Edit: j'ai finalement réussi à le faire fonctionner!!!
Il avait besoin d'une combinaison de JUnit dans le pom.xml et les trois états dans mon .scala:
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
Pour une raison quelconque, en essayant de configurer Surefire fait les tests arrêter de courir de nouveau.
Je code dans l'Ide, en essayant d'obtenir un simple ScalaTest essai de fonctionnement via une Maven (mvn test
) processus de construction. Il n'y a pas des erreurs, mais malheureusement pas de tests à exécuter.
Voici mon .scala fichier:
import org.scalatest.FunSuite
import org.scalatest.BeforeAndAfter
class ExampleSuite extends FunSuite with BeforeAndAfter {
before {
println("Doing setup tasks...")
}
test("Example test of checking the browser title") {
val expected_title = "Company Platform"
var actual_title = "Company Platform"
assert(actual_title == expected_title)
}
after {
println("Doing teardown tasks...")
}
}
Voici le Maven de sortie:
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for JoeTestDemo:JoeTestDemo:jar:1.0
[WARNING] 'build.plugins.plugin.version' for org.scala-tools:maven-scala-plugin is missing. @ line 42, column 21
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building JoeTestDemo 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ JoeTestDemo ---
[WARNING] Using platform encoding (MacRoman actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ JoeTestDemo ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-scala-plugin:2.15.2:compile (default) @ JoeTestDemo ---
[INFO] Checking for multiple versions of scala
[INFO] includes = [**/*.scala,**/*.java,]
[INFO] excludes = []
[WARNING] No source files found.
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ JoeTestDemo ---
[WARNING] Using platform encoding (MacRoman actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/Joeshaver/Projects/JoeTestDemo/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ JoeTestDemo ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-scala-plugin:2.15.2:testCompile (default) @ JoeTestDemo ---
[INFO] Checking for multiple versions of scala
[INFO] includes = [**/*.scala,**/*.java,]
[INFO] excludes = []
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ JoeTestDemo ---
[INFO] Surefire report directory: /Users/Joeshaver/Projects/JoeTestDemo/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
There are no tests to run.
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.368s
[INFO] Finished at: Tue Oct 23 10:58:30 PDT 2012
[INFO] Final Memory: 6M/81M
[INFO] ------------------------------------------------------------------------
Ici est la pom.xml. Je pense que mon Maven plugin Scala peut-être pas le droit:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>JoeTestDemo</groupId>
<artifactId>JoeTestDemo</artifactId>
<version>1.0</version>
<repositories>
<repository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>scala-tools.org</id>
<name>Scala-tools Maven2 Repository</name>
<url>http://scala-tools.org/repo-releases</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.9.0-1</version>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.9.0-1</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<sourceDir>src/main/java</sourceDir>
<jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</configuration>
</plugin>
</plugins>
</build>
</project>
- Vous n'avez pas à utiliser l'JUnitRunner pour le faire fonctionner. Utiliser le
scalatest-maven-plugin
à la place.
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez Maven, alors vous devrez vous annoter votre classe de test(es) avec
Ce serait vous obliger à avoir JUnit comme une dépendance. Ou vous pourriez utiliser les ScalaTest Plugin Maven (ne l'ai pas utilisé moi-même bien que).
Vous pouvez utiliser le
scalatest-maven-plugin
pour exécuter votre scala tests.Assurez-vous également que vous utilisez le
<scope>test</scope>
pour les bocaux nécessaire uniquement à des fins de test.C'est de cette façon que j'ai défini mon
pom.xml
pour l'utilisation de ScalaTest:Comme vous pouvez le voir j'ai aussi ajouté une section qui désactive le plugin surefire si vous ne voulez vraiment pas à l'exécuter. Il est commenté ci-dessus pom mais si vous souhaitez désactiver le plugin surefire supprimer simplement les commentaires de la partie.
Je suis à l'aide de l'Ide, trop et il n'y a pas de problème avec cette combinaison. Il suffit d'exécuter les tests à partir de l'intérieur de l'Ide, ou en utilisant
mvn test
, ils travaillent tous les deux.Skip coloring output
drapeau. J'étais à la recherche pour elle!L'ajout de Blake réponse, en plus de
@RunWith(classOf[JUnitRunner])
vous pourriez aussi avoir besoin de définir la surefire comme suit:Voici un de mes projets Maven qui teste un peu fine par ScalaTest sans plugin: https://github.com/nikita-volkov/sext/