gpt4 book ai didi

java - 模拟一个类与模拟它的接口(interface)

转载 作者:IT老高 更新时间:2023-10-28 20:45:23 26 4
gpt4 key购买 nike

对于单元测试,我需要模拟几个依赖项。其中一个依赖项是实现接口(interface)的类:

public class DataAccessImpl implements DataAccess {
...
}

我需要设置一个这个类的模拟对象,当提供一些指定的参数时,它会返回一些指定的值。

现在,我不确定是模拟接口(interface)还是类更好,即

DataAccess client = mock(DataAccess.class);

对比

DataAccess client = mock(DataAccessImpl.class);

在测试方面有什么不同吗?首选的方法是什么?

最佳答案

在您的情况下可能没有太大区别,但首选方法是模拟接口(interface),通常如果您遵循 TDD(测试驱动开发),那么您甚至可以在编写实现类之前编写单元测试。因此,即使您没有具体的类 DataAccessImpl,您仍然可以使用您的接口(interface) DataAccess 编写单元测试。

此外,mock 框架在 mock 类方面有局限性,有些框架默认只模拟接口(interface)。

关于java - 模拟一个类与模拟它的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9226323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com