如何在下面的模拟对象中设置值.我知道如何获取值但是如何使用mock设置值?
public class AUTest
{
Set<String> permissionIds = new HashSet<String>();
@Mock
UserService userservice;
@Mock
PermissionService permissionservice;
Set<String> emailid = new HashSet<String>();
@Test
public void getSuperUserPermissions()
{
List<Permissions> allPermissions = permissionservice.getAllPermissions();
PermissionService permission = Mockito.mock(PermissionService.class);
Mockito.when(permission.getPermissionById(5L)).thenReturn(pemission);
Assert.assertNotNull(allPermissions);
}
}
Run Code Online (Sandbox Code Playgroud)
模拟对象仅用于获取值.您可以设置返回的值,就像jou使用的那样:
Mockito.when(permission.getPermissionById(5L)).thenReturn(pemission);
Run Code Online (Sandbox Code Playgroud)
现在,当你打电话给permission.getPermissionById(5L)你时,你会得到permission.
也许你在谈论捕获传递给方法的参数.你可以使用ArgumentCaptor来做到这一点.
示例代码:
ArgumentCaptor<Person> argument = ArgumentCaptor.forClass(Person.class);
verify(mock).doSomething(argument.capture());
assertEquals("John", argument.getValue().getName());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10023 次 |
| 最近记录: |