У меня есть простой скрипт, который читает файл:
/**
* Takes a txt file with all songs listed in music directory
* and saves this to the songs database
*/
public void rebuildFromFilelist() {
final List<Song> songs = new ArrayList<>();
try {
final Scanner sc = new Scanner(new File(songsfile));
sc.useDelimiter("\r?\n|\r");
sc.forEachRemaining(l -> getSongFromLine(songs, l)); //function constructs a Song object
} catch (final Exception e) {
log.error("Error in processing file: {}", songsfile);
e.printStackTrace();
}
songs.forEach(song -> log.debug(song.toString()));
songRepository.saveAll(songs);
}
Затем у меня есть тест:
@RunWith(SpringRunner.class)
@SpringBootTest
class SongRepositoryServiceTest {
@Autowired
private SongRepositoryService songRepositoryService;
@Test
@DisplayName("Rebuild library from file")
void RebuildLibraryWithFile() {
songRepositoryService.rebuildLibraryWithFile();
final List<Song> songs = songRepositoryService.findByCategory(Song.SongCategory.SONG);
final List<Song> others = songRepositoryService.findByCategory(Song.SongCategory.OTHER);
assertFalse(songs.isEmpty());
assertFalse(others.isEmpty());
}
}
Файл, который я обрабатываю, имеет длину около 620 элементов. Первые 400 из категории SONG, остальные из категории ДРУГОЙ.
Когда я запускаю тест из Intellij, тест завершается успешно. Однако, если я запускаю его во время чистой установки mvn, он обрабатывает только первые 155 элементов и останавливается (таким образом, проваливая второе утверждение).
Почему это? Как я могу это исправить или даже отладить?
С уважением,
Barbet
РЕДАКТИРОВАТЬ: провальный тест только сообщает об этом, без ошибок или следов стека:
-------------------------------------------------------------------------------
Test set: com.gsm.GsmWeb.service.SongRepositoryServiceTest
-------------------------------------------------------------------------------
Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.161 s <<< FAILURE! - in com.gsm.GsmWeb.service.SongRepositoryServiceTest
com.gsm.GsmWeb.service.SongRepositoryServiceTest.RebuildLibraryWithFile Time elapsed: 0.532 s <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <false> but was: <true>
at com.gsm.GsmWeb.service.SongRepositoryServiceTest.RebuildLibraryWithFile(SongRepositoryServiceTest.java:88)