Mat*_*ttK 16 maven-2 unit-testing scala
我的公司开始使用Scala编写一些代码.我已经转移到这个项目,并且是TDD的忠实粉丝,所以我想建立一个单元测试框架.但是,我们用于此项目的构建系统是Maven,由于各种原因,这不会改变.
我看过ScalaTest和ScalaCheck,两者似乎都与Maven集成有关.我在谷歌搜索中看到的各种论坛帖子表明ScalaTest附带的一些套件不会在maven-scala-plugin下运行,而且我在Maven测试中运行ScalaCheck时根本无法找到任何信息.目标.
任何人都可以指出我可以使用Maven可靠地运行ScalaTest/ScalaCheck,还是建议一个替代方案?
Bil*_*ers 14
ScalaTest 1.0具有:
org.scalatest.junit.JUnitRunner
您可以将它与JUnit的RunWith批注一起使用.Maven喜欢这样.现在还有一个用于ScalaTest的Maven插件,由Jon-Anders Teigen编写.现在你需要从Jon-Anders github页面中获取它:
http://github.com/teigen/maven-scalatest-plugin
很快,我们计划在Maven资源库中"正式"部署它.
插件正式部署到Maven Central.
Bry*_*ift 14
我意识到这已经得到了解答,但我发现使用Scalatest和Maven,特别是通过命令行mvn test,最完整的答案是http://jpz-log.info/archives/2009/09/29/scalatest-in-maven/
我在这里添加这些信息是因为在搜索Scalatest和Maven设置时,这个问题在结果上得到了很高的评价,但没有提供令人满意的(对于我的情况)答案.
基本上:
@RunWith(classOf[JUnitRunner])在规范中添加类注释**/*Spec.class在您的Spec.scala文件中:
import org.scalatest.junit.JUnitRunner
import org.junit.runner.RunWith
import org.scalatest.Spec
import org.scalatest.matchers.ShouldMatchers
@RunWith(classOf[JUnitRunner])
class AutomatonSpec extends Spec with ShouldMatchers {
(...)
}
Run Code Online (Sandbox Code Playgroud)
在你的pom.xml中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Spec.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
Eri*_*ric 10
您还可以使用规范声明规范并将其作为JUnit测试与Maven一起执行.这工作正常,如下所述:http://code.google.com/p/specs/wiki/RunningSpecs#Run_your_specification_with_JUnit4
如果您有任何问题,请在用户邮件列表上发送邮件.
谢谢,
埃里克.
PS:如果要访问其中一些库功能,还可以使用规范中的ScalaTest和ScalaCheck.