बनाता है मेरे पास विशेष स्कीमा में संग्रहीत मेरी डेटा परत में कुछ इकाइयां हैं I उदाहरण के लिए:वसंत बूट। @DataJpaTest H2 एम्बेडेड डेटाबेस स्कीमा
@Entity
@Table(name = "FOO", schema = "DUMMY")
public class Foo {}
मैं अपनी डेटा परत के एकीकरण परीक्षण के लिए H2 एम्बेडेड डेटाबेस सेट अप करने का प्रयास कर रहा हूं। मैं H2 एम्बेडेड डेटाबेस को स्वचालित रूप से कॉन्फ़िगर करने के लिए अपने परीक्षणों के लिए @DataJpaTest
एनोटेशन का उपयोग कर रहा हूं। हालांकि, तालिकाओं का निर्माण विफल रहता है क्योंकि स्कीमा DUMMY
डीबी प्रारंभ में नहीं बनाया गया है।
परीक्षण मामलों में तालिकाओं के निर्माण से पहले स्कीमा बनाने के तरीके पर कोई विचार?
मैंने @ एसक्यूएल का उपयोग करने की कोशिश की है (कथन = "स्कीमा बनाएं अगर डिममी नहीं है") लेकिन सफल नहीं हुआ।
इसके अलावा, मैं TestPropertySource("classpath:test.properties")
के साथ एक साथ मेरी test.properties
फ़ाइल में spring.datasource.url = jdbc:h2:mem:test;INIT=CREATE SCHEMA IF NOT EXISTS DUMMY
स्थापित करने के लिए कोशिश की है, लेकिन वह भी काम नहीं किया।
उत्तर के लिए धन्यवाद। यह काम करता हैं! बीटीडब्ल्यू, निर्भरता के दायरे के बारे में अच्छी पकड़। – StasKolodyuk
इसके अलावा, मुझे इस समस्या के लिए एक और समाधान मिला है, बस इसे यहां रखना भूल गया है। – StasKolodyuk
यह पता चला कि आप केवल 'src/test/resource' के अंतर्गत' schema.sql' डाल सकते हैं ताकि इसे केवल परीक्षणों के लिए लागू किया जा सके – StasKolodyuk