ฉันใช้ Spring 3.1.4 RELEASE และ Mockito 1.9.5 ในชั้นเรียน Spring ของฉันฉันมี:
@Value("#{myProps['default.url']}")
private String defaultUrl;
@Value("#{myProps['default.password']}")
private String defaultrPassword;
// ...
จากการทดสอบ JUnit ของฉันซึ่งฉันได้ตั้งค่าไว้ดังนี้:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "classpath:test-context.xml" })
public class MyTest
{
ฉันต้องการจำลองค่าสำหรับฟิลด์ "defaultUrl" ของฉัน โปรดทราบว่าฉันไม่ต้องการเยาะเย้ยค่าสำหรับช่องอื่น - ฉันต้องการคงค่าเหล่านั้นไว้ตามที่เป็นจริงเฉพาะฟิลด์ "defaultUrl" โปรดทราบว่าฉันไม่มีเมธอด "setter" ที่ชัดเจน (เช่นsetDefaultUrl
) ในชั้นเรียนของฉันและฉันไม่ต้องการสร้างขึ้นเพื่อจุดประสงค์ในการทดสอบเท่านั้น
ด้วยสิ่งนี้ฉันจะเยาะเย้ยค่าของฟิลด์นั้นได้อย่างไร
ReflectionTestUtils.setField(bean, "fieldName", "value");
ก่อนที่จะเรียกใช้bean
วิธีการของคุณในระหว่างการทดสอบ