我是测试的初学者,现在有一个我无法克服的问题。
@SpringBootTest
ExampleMakerSpec extends Specification {
@Autowired @Subject ExampleMaker exampleMaker
@Autowired
ExampleRepository exampleRepository
def EXAMPLE_VARIABLE = "Example"
@Transactional
def "example() trying to do somehthing" () {
when: "trying to make some examples"
Examples examples = exampleMaker.createExamples(examples)
then: "get examples sizes and saves them to database"
examples.size == 7
我的Example制作者看起来像这样:
@Component
public class ExampleMaker {
@Autowired
ExampleRepository exampleRepository;
public void createExamples() {
exampleRepository.save(Examples);
}
}
CRUD存储库:
@Repository
public interface exampleRepository extends CrudRepository<Example, Long> {
}
但是我总是得到
在exampleRepository.save(示例)行的java.lang.NullPointerException。
因此由于某种原因,测试无法找到存储库。我在这里需要帮助以了解缺少的内容。
答案 0 :(得分:-2)
您需要在测试类中自动连接exampleRepository。因此,在创建测试类ExampleMakerSpec
时,Spring会寻找并注入ExampleRepository