我正在尝试测试 get 方法,但不幸的是我收到此错误:
org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是java.lang.NullPointerException
我是新手,我真的不知道我做错了什么。我自动连线,所以我看不出问题出在哪里:
@RestController
public class RegisterController {
@Autowired
private UserService userService;
@Autowired
private SmtpMailSender smtpMailSender;
@Autowired
private ConfirmEmailServiceImpl confirmEmailService;
@RequestMapping(value="/register/validate",method = RequestMethod.GET)
public ResponseEntity<String> checkEmailCode(String email,String code) {
ConfirmEmail confirmEmail=new ConfirmEmail();
confirmEmail=confirmEmailService.findEmail(email);
if(confirmEmail!=null && confirmEmail.getCode().compareTo(code)==0) {
User user=userService.findByEmail(email);
user.setActive(true);
userService.save(user);
return new ResponseEntity<String>("Correct",HttpStatus.OK);
}
else
return new ResponseEntity<String>("Wrong",HttpStatus.valueOf("Wrong code"));
}
}
public class RegisterControllerTest {
@InjectMocks
private RegisterController controller;
private MockMvc mockMvc;
@Before
public void setup(){
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(controller).build();
}
@Test
public void test() throws Exception {
mockMvc.perform(get("/register/validate")).andDo(print());
}
}
当我尝试运行测试时出现错误
请您参考如下方法:
来自 Spring Boot 文档
@RunWith(SpringRunner.class)
@SpringBootTest
@Import(MyTestsConfiguration.class)
public class MyTests {
@Test
public void exampleTest() {
...
}
}
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html
你尝试过这样的事情吗?