I have following code:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TRConfig.class)
public class ARepositoryTest {
@Autowired
ARepository aRepository;
private A a = new A("value");
@Before
public void setup() {
aRepository.save(a);
}
@Test
public void findByValue1() {
assertEquals(a, aRepository.findByValue("value"));
}
@Test
public void findByValue2() {
assertEquals(null, aRepository.findByValue("inv"));
}
}
I have following error on second test, I don't know if first passes because second is the first one which runs:
org.springframework.orm.jpa.JpaObjectRetrievalFailureException: Unable to find ...model.a.A with id 10; nested exception is javax.persistence.EntityNotFoundException: Unable to find model.a.A with id 10
But when I do it like this, the test passes:
@Test
public void findByValue() {
assertEquals(a, aRepository.findByValue("value"));
assertEquals(null, aRepository.findByValue("inv"));
}
Why? What I have to do to make it running properly?
Here is my config:
@EnableAutoConfiguration
@EnableJpaRepositories(basePackageClasses = ARepository.class)
@EntityScan(basePackageClasses = A.class)
@Import({ DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
public class TRConfig {
}