mercredi 15 avril 2015

NoSQLUnit MongoDB insert collection names are []

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