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 menjalankanbeanmetode Anda selama pengujian.