Giả sử tôi có các đối tượng dịch vụ sau đâykiểm tra hành vi của khoảng trống phương pháp
public class UserService {
@Autowired
private UserDao dao;
public void addUser(String username, String password) {
if (username.length() < 8) {
username = username + "random" ; // add some random string
}
User user = new User(username, password);
dao.save(user);
}
}
Tôi muốn thử nghiệm hành vi của các phương pháp "adduser" khi chiều dài tên người dùng là ít 8 và khi tên người dùng là hơn 8 char . Làm thế nào để tiếp cận trong thử nghiệm đơn vị UserService.addUser (...), và xác minh nó? Tôi biết sử dụng assert(), nhưng giá trị "mật khẩu" không có sẵn bên ngoài phương thức addUser (...).
Tôi sử dụng JUnit và Mockito.
Tôi đã nghĩ về điều này, nhưng trường hợp thực tế được tạo thành bằng nhiều phương pháp rồi. Những gì tôi đã viết ở đây là phiên bản đơn giản hơn của trường hợp thực tế. –
Mặc dù có giá trị âm. Tôi vẫn nghĩ rằng nó sẽ làm cho mọi thứ đơn giản hơn để kiểm tra xác thực tên người dùng và logic sửa đổi trong sự cô lập (tách biệt với những gì được truyền vào phương thức lưu). Thậm chí nhiều hơn như vậy, nếu logic đó có phức tạp khác. Và tôi cũng nghĩ rằng bạn sẽ không cần phải sử dụng bất kỳ chế giễu nào để thử nghiệm logic đó. – derdo