我正在尝试为 Spring Boot 应用程序中的存储库编写一些测试,但是存储库自动装配为null。测试类的代码如下:
package jpa.project.repo;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.test.context.ContextConfiguration;
import jpa.project.entity.Person;
@EnableAutoConfiguration
@ContextConfiguration(classes = PersonRepo.class)
@DataJpaTest
public class PersonRepoTest {
@Autowired
private PersonRepo personRepoTest;
@Test
public void testPersonRepo() throws Exception {
Person toSave = new Person();
toSave.setPersonId(23);
if (personRepoTest == null) {
System.out.println("NULL REPO FOUND");
}
personRepoTest.save(toSave);
Person getFromDb = personRepoTest.findOne(23);
Assert.assertTrue(getFromDb.getPersonId() == 23);
}
}
当我在 Eclipse 中将此文件作为 JUnit 测试运行时,打印语句确实被打印出来,这确认了随后出现的空指针异常。我所有的测试都在与主应用程序相同的包中,但这些包在 src/test/java 下。我尝试对包装名称进行一些更改,但这并没有帮助,所以我现在不知道问题出在哪里。为什么 repo 被初始化为 null?
有只小跳蛙
相关分类