AJJ*_*AJJ 5 java reflection spring-mvc
我使用 Spring MVC。
我的控制器中有一个私有字段。此字段的值来自属性文件,因为,
@Controller
public Class MainController() {
@Value("${my-value}")
private int myValue;
}
Run Code Online (Sandbox Code Playgroud)
我必须覆盖硒测试中的值。如何覆盖此字段的值,这意味着我想设置自定义值(以便不从属性文件中获取该值)?
能不能这样
ReflectionTestUtils.setField(MainController.class, "myValue", 3, Integer.class);
Run Code Online (Sandbox Code Playgroud)
小智 0
您应该将此代码放入控制器测试方法中。
@WebMvcTest(controllers = MainController.class, useDefaultFilters = false)
@Import({MainController.class})
public void MainControllerTest{
@Autowired
private MainController mainController
@Test
should_set_controller_private_field(){
ReflectionTestUtils.setField(mainController, "myValue", 3)
assertEquals(ReflectionTestUtils.getField(
mainController, "myValue"), 3)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1192 次 |
| 最近记录: |