sampleTest()
メソッドを実行するとthis.itemRepository.deleteAll()
にこのエラーが発生します。 restoreInitialData()
に@Transactional
注釈を追加現在のスレッドで実際のトランザクションが使用可能なEntityManagerがありません
@ExtendWith(SpringExtension.class)
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@SpringBootTest
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@Rollback(false)
public class ScheduleTests {
private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleTests.class);
@Autowired
private ScheduleRepository scheduleRepository;
@Autowired
private ItemRepository itemRepository;
@Autowired
private ItemQualifierRepository itemQualifierRepository;
@Autowired
private MappingRepository mappingRepository;
@BeforeAll
public void setUp() {
restoreInitialData();
LOGGER.info("Initial data restored");
}
@Test
public void sampleTest() {
File feed = new File("target/test-classes/TestFeedOK.json");
Feed.ingest(feed);
LOGGER.info("Feed {} ingested", feed.getName());
}
private void restoreInitialData() {
this.itemRepository.deleteAll();
this.mappingRepository.deleteByTableName("event");
}
}
は、問題を解決していません - あなたはそれを修正する方法をhttps://stackoverflow.com/a/32552558/3536552
知っていますか?
あなたはTraansactional' @ 'クラス全体を作ってみたのですか? – pvpkiran
@pvpkiranはい私は試みたが、それは助けなかった – TheChosenOne
どのバージョンのスプリングブートを使用しています。最新の 'AutoConfigureTestDatabase'が廃止されたので – pvpkiran