Saya menggunakan Spring 3.1.4.RELEASE dan Mockito 1.9.5. Di kelas Musim Semi saya, saya memiliki:
@Value("#{myProps['default.url']}")
private String defaultUrl;
@Value("#{myProps['default.password']}")
private String defaultrPassword;
// ...
Dari pengujian JUnit saya, yang saat ini saya siapkan seperti ini:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "classpath:test-context.xml" })
public class MyTest
{
Saya ingin mengejek nilai untuk bidang "defaultUrl" saya. Perhatikan bahwa saya tidak ingin mengejek nilai untuk bidang lain - Saya ingin mempertahankannya sebagaimana adanya, hanya bidang "defaultUrl". Juga perhatikan bahwa saya tidak memiliki metode "penyetel" yang eksplisit (misalnya setDefaultUrl
) di kelas saya dan saya tidak ingin membuatnya hanya untuk tujuan pengujian.
Mengingat ini, bagaimana saya dapat membuat tiruan nilai untuk satu bidang itu?
ReflectionTestUtils.setField(bean, "fieldName", "value");
sebelum menjalankanbean
metode Anda selama pengujian.