I am trying to write a JUnit test case for a Spring MongoDB Repository class in a Spring Boot project. But I keep getting the exception.
com.lordofthejars.nosqlunit.core.NoSqlAssertionError: Expected collection names are [student] but insert collection names are []
Any suggestions? Many thanks!
@Configuration
@EnableMongoRepositories
@ComponentScan("com.tp.repository")
public class TestConfig extends AbstractMongoConfiguration {
@Bean
public Mongo mongo() {
return new Fongo("Fongo").getMongo();
}
@Bean
protected String getDatabaseName() {
return "test";
}
}
Unit Test class
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestConfig.class)
public class StudentRepositoryTests {
@Autowired
StudentRepository studentRepository;
@Autowired
private ApplicationContext applicationContext;
@Rule
public MongoDbRule mongoDbRule = MongoDbRuleBuilder.newMongoDbRule()
.defaultSpringMongoDb("student");
@Test
@ShouldMatchDataSet(location = "/student.json")
public void shouldSave() {
studentRepository.save(createStudent());
}
private Student createStudent() {
Student student = new Student();
student.setFirstName("First");
student.setLastName("Last");
return student;
}
}
Student class
@Document(collection="student")
public class Student {
@Id
private String id;
@Indexed
private String firstName;
@Indexed
private String lastName;
....
}
Aucun commentaire:
Enregistrer un commentaire