【发布时间】:2016-04-19 18:59:09
【问题描述】:
我在使用 Spring 和 JUnit 编写测试来测试 MongoDB 存储库时遇到问题。消息是“无法自动装配。找不到 ... 类型的 bean” 我的仓库是
public interface ProjectRepository extends MongoRepository<Project, String> {
public Project findByName(String name);
}
而我的配置文件是
@Configuration
@EnableMongoRepositories(basePackageClasses = RepositoryPackage.class)
public class SpringMongoConfiguration extends AbstractMongoConfiguration{
@Override
protected String getDatabaseName() {
return "test";
}
@Bean
public MongoClient mongo() throws Exception {
MongoClient client = new MongoClient("localhost");
return client;
}
@Bean
public MongoTemplate mongoTemplate() throws Exception {
return new MongoTemplate(mongo(), getDatabaseName());
}
}
其中 RepositoryPackage 位于存储库的同一包中。 我的测试是
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringMongoConfiguration.class)
public class MongoDbProjectTests {
@Autowired
private ProjectRepository projectRepository;
@Before
public void init(){
projectRepository.deleteAll();
Project project = new Project("sdfjklgh", 1, "comunione Leonardo",
Project.TYPE_PROJECT_PHOTO, Project.STATE_PROJECT_DRAFT);
projectRepository.save(project);
}
@Test
public void test1(){
List<Project> list = projectRepository.findAll();
assertEquals(1, list.size());
}
}
我做错了什么?
【问题讨论】:
标签: spring mongodb spring-data junit4 spring-mongo