【发布时间】:2016-11-24 07:32:16
【问题描述】:
我似乎无法让 Intellij 13.1 运行我的测试。我创建了一个简单的项目来尝试隔离问题,但它在那里也不起作用。这是我的设置:
- Intellij 13.1 以 JDK 1.6 为目标(需要使用 Java 库)
- SBT 支持的 scala 2.10 项目
- 最新的 scalatest(libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.1" % "test")
这是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 重构参数:-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/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext/apple_provider.jar:/System/Library/Java /JavaVirtualMachines/1.6.0.jdk/Contents/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/Development/temp/sample/target/scala-2.10/test-classes:/Users/test-user/Development/temp/sample/target/scala-2.10/classes:/Users/test -user/.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/缓存/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.2.jar:/Users/test-user/.ivy2/ca che/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 最后一棵树打字:应用(方法==) 符号:方法 == 在类 Int (flags: ) 符号定义:def ==(x: Int): Boolean tpe:布尔值 符号所有者:方法 == -> 类 Int -> 包 scala 上下文所有者:值 -> 类 Calc$Test -> 包 == 封闭模板或块 == Template( // val : 在类 Calc$Test "FunSuite" // 父级 ValDef( 私人的 “_” ) // 2 个语句 DefDef( // def (): Calc$Test 类中的 Calc$Test “” [] 列表(无) // tree.tpe=Calc$Test Block( // tree.tpe=Unit Apply( // def (): org.scalatest.FunSuite in class FunSuite, tree.tpe=org.scalatest.FunSuite Calc$Test.super."" // def (): org.scalatest.FunSuite in class FunSuite, tree.tpe=()org.scalatest.FunSuite 零 ) () ) ) 申请( 申请( “测试” “两个数字应该加” ) 申请( “断言” Apply( // def ==(x: Int): Int 类中的布尔值,tree.tpe=Boolean Calc.add(2, 5)."$eq$eq" // def ==(x: Int): Int 类中的布尔值,tree.tpe=(x: Int)Boolean 7 ) ) ) ) == 树的扩展类型 == TypeRef(TypeSymbol(final abstract class Boolean extends AnyVal)) 编译期间未捕获的异常: scala.MatchError
知道问题可能是什么吗?我认为这是由一个简单的配置问题引起的,因为代码尽可能简单。
【问题讨论】:
标签: scala intellij-idea scalatest intellij-13