使用JUnit测试CRUD方法时的java.lang.NullPointerException

时间:2016-03-11 17:08:23

标签: junit spring-boot

我一直试图让简单的测试用例无法正常工作。他们只是给出一个空指针错误:

POST

示例:

Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Methods:GET, POST, OPTIONS
Access-Control-Allow-Origin:*

我在控制台中收到以下输出:

java.lang.NullPointerException

然而,一旦达到:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SpringCrudApplication.class)
public class ServiceTest {


UserService userService;

@Autowired
public void setUserService(UserService userService) {
    this.userService = userService;
}

@Test
public void findUserByIdTest() throws Exception {

    long id = (long) 0;

    User user = new User();
    user.setId(id);
    user.setAddress("main st");
    user.setEmail("drew@gmail.com");
    user.setUsername("Drew");

          System.out.println("Name: "+user.getUsername()+" ID: "+user.getId()); //this is printing

    userService.saveUser(user);

    User userTest = userService.findUserById(id);

    System.out.println("Username="+userTest.getUsername());

    assertEquals("Drew", userTest.getUsername());

}

创建空指针。

以下是正在测试的方法:

Name: Drew ID: 0

1 个答案:

答案 0 :(得分:0)

看起来您的用户服务为空.. Spring context.xml需要在test资源文件夹中。 否则你将不得不嘲笑用户。 使用模拟来模拟和存根响应。