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吗?如果可以,我做错了什么?
答案 0 :(得分:0)
JMockit在JVM上不支持Scala或Java以外的任何语言
https://github.com/jmockit/jmockit1/pull/358
最后,过去已经有人要求增加支持 其他JVM语言。我记得Scala(ScalaMock),Extend和 科特林。如果Groovy支持被接受,如何拒绝支持其他人 语言?并牢记JMockit项目从未打算过 支持除JVM之外的任何东西(即不像Dalvik这样的东西)和 Java语言。