كيف تجعل طريقة mock تعيد الوسيطة التي تم تمريرها إليها في Mockito؟
مرحباً بالجميع! أنا مبتدئ في Java وMockito، وقد واجهت مشكلة أثناء كتابة الاختبارات. لدي class يستدعي طريقة repository لحفظ كائن، ثم يستخدم القيمة المُعادة (مثل ID مُولَّد). أريد عمل mock لهذا 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 UserSe