加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

JMockit可以使用scala吗?

发布时间:2020-12-16 19:14:14 所属栏目:安全 来源:网络整理
导读:我用Google搜索了一下,对我而言,这似乎是可能的.但是当我尝试这样的时候: class Calc { def sum(first: Int,second: Int) = { first + second }} 和“测试”类: class CalcTest { @Test def testSum(@Mocked test: Calc) { new NonStrictExpectations() {{
我用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: tried to access class mockit.Invocations
from class com.kvg.client.CalcTest$$anon$1 at
com.kvg.client.CalcTest$$anon$1.(CalcTest.scala:11) 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)
at
com.intellij.rt.execution.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一起使用吗?如果它可以,我做错了什么?

解决方法

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

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

Finally,there were already requests in the past to add support for other JVM languages. I remember of Scala (ScalaMock),Extend,and Kotlin. If Groovy support was accepted,how to deny support for other languages? And keeping in mind that the JMockit project never intended to support anything other than the JVM (ie,not stuff like Dalvik) and the Java language.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读