我似乎无法让Intellij 13.1来运行测试。我已经创建了一个简单的项目来尝试找出问题所在,但它在那里也无法正常工作。这是我的设置:
这是sut:
object Calc {
def add(a: Int, b: Int) = {
a + b
}
}
这是测试:
import org.scalatest.FunSuite
class Calc$Test extends FunSuite {
test("two number should add") {
assert(Calc.add(2, 5) == 7)
}
}
这是我得到的错误:
错误:scalac:编译时:/Users/test-user/Development/temp/sample/src/test/scala/Calc$Test.scala在阶段:打字机库版本:2.10.4版编译器版本:2.10.4版重建args:-nobootcp -javabootclasspath:-classpath /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/deploy.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents /Home/lib/dt.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javaws.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents /Home/lib/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jconsole.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents /Home/lib/management-agent.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/plugin.jar:/System/Library/Java/JavaVirtualMachines/1.6。0.jdk / Contents / Home / lib / sa-jdi.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar:/System/Library/Java/JavaVirtualMachines/1.6。 0.jdk / Contents / Classes / classes.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/目录/类/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/apple_provider.jar:/System/Library/Java/JavaVirtualJava /1.6.0.jdk/目录/ Home / lib / ext / dnsns.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/localedata.jar:/System/Library/Java/JavaVirtualMachines/1.6。 0.jdk / Contents / Home / lib / ext / sunjce_provider.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/sunpkcs11.jar:/ Users / test-user /开发/温度/样本/目标/ scala-2。10 /测试类:/用户/测试用户/开发/温度/样本/目标/scala-2.10/类:/用户/测试用户/.sbt/boot/scala-2.10.4/lib/scala-library .jar:/Users/test-user/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.2.jar:/Users/test-user/.ivy2/cache/org .scala-lang / scala-reflect / jars / scala-reflect-2.11.2.jar:/Users/test-user/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala -xml_2.11-1.0.2.jar:/Users/test-user/.ivy2/cache/org.scalatest/scalatest_2.11/bundles/scalatest_2.11-2.2.1.jar:/ Users / test-user / .sbt / boot / scala-2.10.4 / lib / scala-reflect.jar:/Users/test-user/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar键入的最后一棵树:Apply (方法==)符号:类Int中的方法==(标志:)符号定义:def ==((x:Int):布尔值tpe:布尔符号所有者:方法==->类Int->包scala上下文所有者:值->class Calc $ Test-> package ==包含模板或块== Template(// val:在Calc $ Test类“ FunSuite” //父代ValDef(私有“ _”)// 2条语句DefDef(// def() :Calc $ Test类中的Calc $ Test“” [] List(Nil)// tree.tpe = Calc $ Test Block(// tree.tpe = Unit Apply(// def():类中的org.scalatest.FunSuite FunSuite,tree.tpe = org.scalatest.FunSuite Calc $ Test.super。“” // def():类FunSuite中的org.scalatest.FunSuite,tree.tpe =()org.scalatest.FunSuite Nil)()) )Apply(Apply(“测试”“两个数字应加”))Apply(“ assert” Apply(// def ==(x:Int):类Int中的布尔值,tree.tpe =布尔值Calc.add(2,5 )。“ $ eq $ eq” // def ==(x:Int):Int类中的布尔值,tree.tpe =(x:Int)Boolean 7))))==树的扩展类型== TypeRef(TypeSymbol(最终抽象类Boolean扩展AnyVal))编译期间未捕获的异常:scala.MatchError
知道可能是什么问题吗?我认为这是由一个简单的配置问题引起的,因为代码尽可能简单。
您显然遇到的一个问题是,您正在要求为Scala 2.11编译的scalatest版本,但是您说您正在使用Scala 2.10。您在build.sbt中需要“ scalatest_2.10”而不是“ scalatest_2.11”。使用
libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.2.1" % "test"
甚至
libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.1" % "test"
以自动获取您的Scala版本(请注意将更改为双精度百分比:%%。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句