我正在为弹簧控制器编写单元测试。我的控制器基于Rest API,我使用@RequestBody和@ResponseBody注释来支持它。 我在使用@Mock annotation.please建议时收到“注释@Mock被禁止此位置”错误。
我的测试课如下:
@RunWith(SpringJunit4ClassRunner.class)
@WebAppConfiguration
Public class ControllerTest{
Controller1 controller1;
Public void init(){
controller1= new Controller1 ();
}
@Test
Public voidd test(){
ServiceAdaptorClass ServiceAdap= new MockUp<ServiceAdaptorClass>{
@Mock // getting error here that “The annotation @Mock is disallowed for this location”
ReturnType methodname( arg1,arg2) throws Exception{
ReturnType returntype;
returntype.setProperty(…..);
return returntype;
}
}.getMockInstance();
mockmvc.perform("url");
}
}
答案 0 :(得分:1)
“@ Mock被禁止使用此位置”是一种通用错误,如果该注释缺少导入,则会出现这种错误。
答案 1 :(得分:0)
有2个@Mock注释:
import mockit.Mock
和
import org.mockito.Mock
也许你在测试中同时使用两者,所以只需为你正在使用的注释之一添加完整的导入路径。