JMockit可以使用scala吗?

时间:2014-03-15 11:43:07

标签: scala junit jmockit

我用Google搜索了一下,对我而言,这似乎是可能的。但当我尝试这样的时候:

class Calc {
  def sum(first: Int, second: Int) = {
    first + second
  }
}

和“测试”课程:

class CalcTest {
  @Test
  def testSum(@Mocked test: Calc) {
    new NonStrictExpectations() {{
      test.sum(2, 3)
      times = 1
      result = Int.box(5)
    }}
    Assert.assertEquals(5, test.sum(2, 3))
  }
}

我有一个例外:

  

java.lang.IllegalAccessError:尝试访问类mockit.Invocations   从类com.kvg.client.CalcTest $$ anon $ 1 at   com.kvg.client.CalcTest $$ anon $ 1.(CalcTest.scala:11)at at   com.kvg.client.CalcTest.testSum(CalcTest.scala:9)at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77)     在   com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)     在   com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)     在   com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

JMockit可以使用scala吗?如果可以,我做错了什么?

1 个答案:

答案 0 :(得分:0)

JMockit在JVM上不支持Scala或Java以外的任何语言

https://github.com/jmockit/jmockit1/pull/358

  

最后,过去已经有人要求增加支持   其他JVM语言。我记得Scala(ScalaMock),Extend和   科特林。如果Groovy支持被接受,如何拒绝支持其他人   语言?并牢记JMockit项目从未打算过   支持除JVM之外的任何东西(即不像Dalvik这样的东西)和   Java语言。