Avatar ·

如何让Mockito中的模拟方法返回传递给它的参数?

大家好!我是 Java 和 Mockito 的初学者,在编写测试时遇到了一个问题。我有一个类,它调用 repository 的方法来保存对象,然后使用返回值(例如生成的 ID)。我想模拟这个 repository,使该方法返回传入的同一个对象,但带一些修改(例如设置了 ID)。这该怎么做? 以下是我正在测试的代码示例: ```java public class UserService { private UserRepository userRepository; public UserService(UserRepository userRepository) { this.userRepository = userRepository; } public User createUser(String name, String email) { User user = new User(name, email); User savedUser = userRepository.save(user); // savedUser 应该具有数据库设置的 ID return savedUser; } } ``` 我的测试代码如下: ```java @ExtendWith(MockitoExtension.class) public class UserServiceTest { @Mock private UserRepository userRepository; @Test public void testCreateUser() { // 如何配置模拟对象,使其返回已设置 ID 的传入对象? } } ```