【发布时间】:2018-02-07 06:22:00
【问题描述】:
我想测试 MyClass,我的意思是测试公共函数 myFunction。此函数从 MyService 调用 someMethod。 我想检查它是否传递了创建的有效参数 str1 和 str2 在这堂课中。 我正在考虑捕获那些,但我不确定是否可以捕获 2 个参数,或者如何做到这一点。 如果可能的话,我不想改变可见性
class MyService
{
public void someMethod(String str1, String str2);
}
class MyClass
{
private MyService myService;
private String createStrOne(){...};
private String createStrTwo(){...};
....
public void myFunction()
{
myService = new MyService();
myService.someMethod(createStrOne(),createStrTwo());
}
}
【问题讨论】:
-
如果你想检查你的方法 createStringOne() 和 createStringTwo() 是否返回有效参数,你应该将它们包保护起来并用单元测试来测试它们。然后,如果需要,您可以模拟它们来测试 myFunction()。
-
如果可能,我不想更改可见性。我会把它添加到问题中
标签: java unit-testing mocking mockito