hel*_*hod 43 java junit unit-testing mocking
对于单元测试,我需要模拟几个依赖项.其中一个依赖项是实现接口的类:
public class DataAccessImpl implements DataAccess {
...
}
Run Code Online (Sandbox Code Playgroud)
我需要设置这个类的模拟对象,当提供一些指定的参数时返回一些指定的值.
现在,我不确定的是,模拟界面或类是否更好,即
DataAccess client = mock(DataAccess.class);
Run Code Online (Sandbox Code Playgroud)
与
DataAccess client = mock(DataAccessImpl.class);
Run Code Online (Sandbox Code Playgroud)
它在测试方面有什么不同吗?什么是首选方法?
Kul*_*ain 49
在你的情况下它可能没什么区别,但首选的方法是模拟接口,通常如果你遵循TDD(测试驱动开发),那么你甚至可以在编写实现类之前编写单元测试.因此,即使您没有具体的类DataAccessImpl,您仍然可以使用您的界面编写单元测试DataAccess.
此外,模拟框架在模拟类中有局限性,而某些框架默认只模拟接口.
| 归档时间: |
|
| 查看次数: |
52636 次 |
| 最近记录: |