我有一个根据数据集定义的数据库。我想插入一个新实体并在测试创建服务之后找到它。当我想找到实体时,它不存在。 我想交易没有保留,但如何更改呢?
我的测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@SpringBootTest
@Transactional
@TestPropertySource(locations="classpath:test.properties")
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class,
TransactionDbUnitTestExecutionListener.class,
DbUnitTestExecutionListener.class })
public class UserServiceTest {
@Autowired
private UserService userService;
@Test
@DatabaseSetup(value="datas.xml")
public void createUser() {
UserCreationResource resource = new UserCreationResource();
resource.setEmail("test@test.com");
resource.setFirstname("firstname");
resource.setLastname("lastname");
resource.setPassword("pwd");
userService.createUser(resource);
Iterable<User> users = userRepository.findAll();
for(User user : users) {
System.out.println(user.getEmail());
}
User user = userService.lookup("test@test.com");
assertNotNull(user);
assertNotEquals("pwd", user.getPassword());
}
}
在System.out中,我可以看到由数据集定义的用户,但看不到新用户。