Java 控制器中的参数';即使我从Junit测试用例中传递了值,s RequestMapping方法仍然显示为空,带有默认值
我在一个控制器中有一个如下请求映射方法,该方法包含三个参数。这是一种get方法Java 控制器中的参数';即使我从Junit测试用例中传递了值,s RequestMapping方法仍然显示为空,带有默认值,java,unit-testing,model-view-controller,junit,powermockito,Java,Unit Testing,Model View Controller,Junit,Powermockito,我在一个控制器中有一个如下请求映射方法,该方法包含三个参数。这是一种get方法 @RequestMapping("/secure/getData") public CustomObject getData(CustomSessionContext obj1, CustomObject2 obj2, CustomObject3 obj3) { return myMethod(obj1,obj2,obj3); } 这是我的测试用例 @RunWith(SpringJUnit4
@RequestMapping("/secure/getData")
public CustomObject getData(CustomSessionContext obj1, CustomObject2 obj2, CustomObject3 obj3) {
return myMethod(obj1,obj2,obj3);
}
这是我的测试用例
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:mycontext.xml"})
@WebAppConfiguration
public class MyControllerTest {
@Mock
SomeDependency mockObj;
@InjectMocks
MyController myController = new MyController();
private MockMvc mockMvc;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
mockMvc=MockMvcBuilders.standaloneSetup(myController).build();
}
@Test
public void testGetData() {
CustomObject1 obj1 = getCustomObj1(); //Stubbing here these below objects contains data.
CustomObject2 obj2 = getCustomObj2();
CustomObject3 obj3 = getCustomObj3();
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/secure/getData.action",obj1,obj2,obj3)).contentType(MediaType.APPLICATION_JSON));
}
}
所以,这里的问题是,当我运行这个测试用例时,控制将转到实际的请求映射方法。但是在那里,参数仍然是空的,没有任何数据,即使我正在存根并传递数据。我对为控制器编写Junit测试用例非常陌生。想知道我是否犯了错误?解决办法是什么