我正在尝试使用 MockMvc 测试几个控制器端点,但遇到了一些麻烦(请客气点,我是新手......)。使用字符串作为参数的简单端点工作正常,但使用字符串列表的稍微复杂一点的端点不满意并抛出异常;有人能指出我做错了什么吗?
@RestController
@RequestMapping("/bleh")
public class Controller
{
@Autowired
private DataService dataService
@RequestMapping(value = "/simple", method = RequestMethod.GET)
public String simple(String name)
{
return dataService.getSomeData(name)
}
@RequestMapping(value = "/complicated", method = RequestMethod.GET)
public String complex(List<String> names)
{
return dataService.getSomeOtherData(names)
}
}
Run Code Online (Sandbox Code Playgroud)
——
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class HealthControllerTests extends Specification
{
def dataServiceMock;
def testController;
def mockMvc;
def setup(){
dataServiceMock = Mock(DataService)
dataServiceMock.getSomeData >> "blaah"
testController = new Controller(dataService: dataServiceMock)
mockMvc = MockMvcBuilders.standaloneSetup(testController).build();
}
def "working test"
when:
def response …Run Code Online (Sandbox Code Playgroud)