Infinitest терпит неудачу, но Maven работает
У меня есть Sprint Tool Suite 3.3 и установлена последняя версия Infinitest. Согласно Infinitest, во многих моих классах есть ошибки, но Maven строит просто отлично. Вот пример некоторых ошибок, которые отображаются на вкладке "Проблемы" в STS:
InvalidDataAccessResourceUsageException (Table "ADDRESSTYPEREF" not found; SQL statement:...SeedAddressTypes.java /... line 34 Infinitest Test Failure
AssertionFailure (null id in com..model.base.Menu entry (don't flush the Session after an exception occurs)) in TestMenuBuilderIT.sortByTopMenu TestMenuBuilderIT.java
Все тесты, которые показывают ошибку, являются интеграцией, которая использует Java Config для EmbeddedDatabase:
public class TestMenuBuilderIT extends BaseItegration {
@Autowired
private MenuRepository menuRepository;
@Test
public void sortByTopMenu() {
List<Menu> testMenu = menuRepository.findAll(); <== offending line
...
}
И класс конфигурации:
@RunWith( SpringJUnit4ClassRunner.class )
@ContextConfiguration( loader = AnnotationConfigContextLoader.class, classes = { JpaConfig.class } )
public abstract class BaseItegration {
..
}
@Configuration
@EnableTransactionManagement
@ComponentScan( basePackages = { ...} )
@ImportResource( { "classpath:applicationContext.xml"} )
public class JpaConfig {
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder().setType( EmbeddedDatabaseType.H2 ).setName( "testdb" )
.addScript( "classpath:embeddedDatabase.sql" ).build();
}
Я не понимаю, почему это будет хорошо работать в Maven, но Infinitest имеет эти ошибки, связанные с БД. Я не смог найти никакой документации о том, что JavaConfig не будет работать с Infinitest. Я могу щелкнуть правой кнопкой мыши и успешно выполнить каждый тест "Как тестовый модуль".
Кто-нибудь знает, что может быть причиной этого?