Tôi đang cố viết một bài kiểm tra đơn vị cho một bean đơn giản được sử dụng trong chương trình của tôi để xác thực biểu mẫu. Đậu được chú thích bằng @Component
và có biến lớp được khởi tạo bằng cách sử dụng @Value("${this.property.value}") private String thisProperty;
Populating Spring @Value trong Bài kiểm tra đơn vị
Tôi muốn viết các kiểm tra đơn vị cho các phương thức xác thực trong lớp này, nếu có thể tôi muốn làm như vậy mà không sử dụng tệp thuộc tính . Lý do của tôi đằng sau điều này, là nếu giá trị tôi đang kéo từ các thay đổi tập tin thuộc tính, tôi muốn điều đó không ảnh hưởng đến trường hợp thử nghiệm của tôi. Trường hợp thử nghiệm của tôi đang thử nghiệm mã xác nhận giá trị, chứ không phải giá trị của chính nó.
Có cách nào để sử dụng mã Java bên trong lớp thử nghiệm của tôi để khởi tạo một lớp Java và điền thuộc tính Spring @Value bên trong lớp đó sau đó sử dụng để kiểm tra?
Tôi đã tìm thấy điều này How To dường như gần nhưng vẫn sử dụng tệp thuộc tính. Tôi thà tất cả là mã Java.
Cảm ơn
Chính xác những gì tôi đã cố gắng làm và những gì tôi đang tìm kiếm để thiết lập các giá trị bên trong lớp học của tôi, cảm ơn! – Kyle
Hoặc thậm chí không cần phụ thuộc vào mùa xuân bằng cách thay đổi trường thành truy cập mặc định (gói được bảo vệ) để làm cho nó dễ dàng truy cập vào thử nghiệm. –
Ví dụ: 'org.springframework.test.util.ReflectionTestUtils.setField (classUnderTest," field "," value ");' – Olivier