【问题标题】:How to spy on a method in Java with Junit?如何使用 Junit 监视 Java 中的方法?
【发布时间】:2018-10-15 20:49:28
【问题描述】:

我喜欢 Jasmine,因为您可以检查一个函数是否被调用,以及传递给它的内容。

有没有办法用junit和java做到这一点?

基本上,我有调用日志函数的函数。我想确保正在调用该函数,并且正在使用正确的值进行调用。

注意,我们只有一个生产版本,没有测试版本和生产版本,所以模拟是一个问题。

GC_

【问题讨论】:

    标签: java testing junit jasmine mocking


    【解决方案1】:

    您想研究 Mockito。您可以在单元测试中使用它来模拟服务,然后也可以监视它。下面是一个 Kotlin 伪代码。

    @Mock
    private val myService : MyService? = null
    
    @InjectMocks
    private val myController: MyController? = null
    
    myController?.controllerStuff(param1)
    Mockito.verify(myService, Mockito.times(1))?.doSomething(param2)
    

    【讨论】:

    • 为此,您不需要进行测试构建吗?您不能在生产代码上运行 junit 测试,对吗?
    • 通常在 Java 中,您让诸如 Gradle 或 Maven 之类的构建工具来构建您的项目。这样的构建工具将(除其他外)构建生产二进制文件、构建测试二进制文件、启动测试,然后打包生产二进制文件
    猜你喜欢
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 2018-09-27
    • 2015-11-21
    • 1970-01-01
    相关资源
    最近更新 更多