JMockit可以使用scala吗?

Mos*_*ses 7 junit scala jmockit

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

class Calc {
  def sum(first: Int, second: Int) = {
    first + second
  }
}
Run Code Online (Sandbox Code Playgroud)

和"测试"类:

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))
  }
}
Run Code Online (Sandbox Code Playgroud)

我有一个例外:

java.lang.IllegalAccessError:尝试从com.kvg上的com.kvg.client.CalcTest $$ anon $ 1.(CalcTest.scala:11)类com.kvg.client.CalcTest $$ anon $ 1访问类mockit.Invocations .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.exe.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)at com.intellij .rt.execution.application.AppMain.main(AppMain.java:120)

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

Nov*_*ata 0

JMockit 不支持 Scala 或 JVM 上除 Java 之外的任何语言

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

最后,过去已经有人请求添加对其他 JVM 语言的支持。我记得 Scala (ScalaMock)、Extend 和 Kotlin。如果接受 Groovy 支持,如何拒绝对其他语言的支持?请记住,JMockit 项目从未打算支持 JVM(即,不是像 Dalvik 之类的东西)和 Java 语言以外的任何东西。