为字符串属性注入@InjectMocks
2022-08-31 16:41:18
我有一个带有这个构造函数的弹簧MVC:@Controller
@Autowired
public AbcController(XyzService xyzService, @Value("${my.property}") String myProperty) {/*...*/}
我想为此控制器编写一个独立的单元测试:
@RunWith(MockitoJUnitRunner.class)
public class AbcControllerTest {
@Mock
private XyzService mockXyzService;
private String myProperty = "my property value";
@InjectMocks
private AbcController controllerUnderTest;
/* tests */
}
有没有办法注入我的 String 属性?我知道我不能嘲笑一个字符串,因为它是不可变的,但是我可以在这里注入一个普通的字符串吗?@InjectMocks
@InjectMocks
在这种情况下,默认注入 null。 可以理解的是,如果我把它放在.c上,就会抛出一个异常。我是否错过了另一个注释,它只是意味着“注入这个确切的对象而不是它的模拟”?@Mock
myProperty