繁体   English   中英

在单元测试期间,Spring Boot MongoDB存储库为空

[英]Spring Boot MongoDB Repository null during unit test

我已经有一段时间了,但无法弄清楚。 在正常运行应用程序时,回购注入会正常,但是在尝试进行Spring Boot单元测试时,它不会注入。 这是代码:

 package com.g2p.g2prestservice.repositories; import com.g2p.g2prestservice.model.User; import org.springframework.data.mongodb.repository.MongoRepository; public interface UserRepository extends MongoRepository<User, Integer> { } 

 package com.g2p.g2prestservice.repositories; import com.g2p.g2prestservice.model.User; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; @RunWith(SpringRunner.class) @SpringBootTest public class UserRepositoryTest { @Autowired UserRepository userRepository; @Test public void testInsertUser() { User user = new User("fake@email.com", "fakePassword"); userRepository.save(user); assertEquals(userRepository.count(), 1); } } 

我实质上是在尝试以本指南为例: https : //springframework.guru/configuring-spring-boot-for-mongo/

谢谢大家解决了我确定是一个非常基本的错误。

编辑:我认为问题是运行测试类时spring上下文没有启动...

编辑:这是启动器类:

 package com.g2p.g2prestservice; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; @SpringBootApplication public class G2pRestServiceApplication { public static void main(String[] args) { SpringApplication.run(G2pRestServiceApplication.class, args); } } 

尝试这个

@SpringBootTest(classes= {Application.class})

Application.class是您在其中编写SpringApplication.run代码的位置。

public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM