PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

स्प्रिंग बूट टेस्ट के लिए एंबेडेड पोस्टग्रेज

मैं एम्बेडेड-डेटाबेस-स्प्रिंग-टेस्ट लाइब्रेरी का लेखक हूं जिसका उल्लेख @MartinVolejnik ने किया था। मुझे लगता है कि पुस्तकालय को आपकी सभी जरूरतों को पूरा करना चाहिए (पोस्टग्रेएसक्यूएल + स्प्रिंग बूट + फ्लाईवे + एकीकरण परीक्षण)। मुझे वास्तव में खेद है कि आपको कुछ परेशानी हो रही है, इसलिए मैंने एक साधारण डेमो ऐप बनाया है जो स्प्रिंग बूट फ्रेमवर्क के साथ लाइब्रेरी के उपयोग को प्रदर्शित करता है। नीचे मैंने कुछ बुनियादी चरणों का सारांश दिया है जो आपको करने की आवश्यकता है।

मावेन कॉन्फ़िगरेशन

निम्नलिखित मावेन निर्भरता जोड़ें:

<dependency>
    <groupId>io.zonky.test</groupId>
    <artifactId>embedded-database-spring-test</artifactId>
    <version>2.0.1</version>
    <scope>test</scope>
</dependency>

फ्लाईवे कॉन्फ़िगरेशन

अपने एप्लिकेशन कॉन्फ़िगरेशन में निम्न गुण जोड़ें:

# Sets the schemas managed by Flyway -> change the xxx value to the name of your schema
# flyway.schemas=xxx // for spring boot 1.x.x
spring.flyway.schemas=xxx // for spring boot 2.x.x

इसके अलावा, सुनिश्चित करें कि आप org.flywaydb.test.junit.FlywayTestExecutionListener का उपयोग नहीं करते हैं . क्योंकि पुस्तकालय का अपना परीक्षण निष्पादन श्रोता है जो डेटाबेस आरंभीकरण को अनुकूलित कर सकता है और इस अनुकूलन का कोई प्रभाव नहीं पड़ता है यदि FlywayTestExecutionListener लागू किया जाता है।

उदाहरण

एम्बेडेड डेटाबेस के उपयोग को प्रदर्शित करने वाले परीक्षण वर्ग का एक उदाहरण:

@RunWith(SpringRunner.class)
@DataJpaTest
@AutoConfigureEmbeddedDatabase
public class SpringDataJpaAnnotationTest {

    @Autowired
    private PersonRepository personRepository;

    @Test
    public void testEmbeddedDatabase() {
        Optional<Person> personOptional = personRepository.findById(1L);

        assertThat(personOptional).hasValueSatisfying(person -> {
            assertThat(person.getId()).isNotNull();
            assertThat(person.getFirstName()).isEqualTo("Dave");
            assertThat(person.getLastName()).isEqualTo("Syer");
        });
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL कनेक्शन स्ट्रिंग/यूआरएल के लिए प्रारूप क्या है?

  2. पोस्टग्रेज में गतिशील एसक्यूएल क्वेरी

  3. PostgreSQL में प्रति समूह अंतिम पंक्ति कैसे प्राप्त करें

  4. NULL मानों के साथ NOT LIKE का व्यवहार

  5. एक सेट-रिटर्निंग फ़ंक्शन को एक सरणी तर्क के साथ कई बार कॉल करें