![](/img/trans.png)
[英]Unit Test Spring Boot with Controller -> Service -> Repository
[英]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.