Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

DbUnit menguji MySQL Java

DbUnit dapat bekerja dengan database nyata. Anda dapat melakukannya hanya dengan xml.

Pertama tambahkan ke pom.xml smth seperti ini (versi bisa yang lain):

<dependency>
    <groupId>org.dbunit</groupId>
    <artifactId>dbunit</artifactId>
    <version>2.5.0</version>
</dependency>

<dependency>
    <groupId>com.github.springtestdbunit</groupId>
    <artifactId>spring-test-dbunit</artifactId>
    <version>1.1.0</version>
</dependency>

Kemudian tambahkan ke direktori sumber daya pengujian spring-config.xml (saya menggunakan postgresql)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


    <bean id="dataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="username" value="****" />
        <property name="password" value="*****" />
        <property name="url" value="url-to-server-with-your-db"/>
    </bean>

    <bean id="jdbcTemplate"
          class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg ref="dataSource" />
    </bean>

</beans>

Tambahkan kacang untuk kelas yang perlu Anda uji dalam xml ini.

Di kelas uji tambahkan anotasi:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/spring-config.xml"})
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class,
        DirtiesContextTestExecutionListener.class,
        TransactionalTestExecutionListener.class,
        DbUnitTestExecutionListener.class})

Sebelum metode pengujian, tambahkan anotasi yang Anda butuhkan tergantung pada tujuan pengujian. Misalnya:

@DatabaseSetup(value = "/testData.xml")
@DatabaseTearDown(value = "/testData.xml")

Apa artinya? Anda memiliki xml Anda dengan dataset. Data dalam file ini akan dikirim ke database Anda sebelum pengujian (@DatabaseSetup), dan setelah pengujian Anda dapat melakukannya lagi (@DatabaseTearDown) - file yang sama untuk memulihkan status awal atau file lain yang Anda perlukan. Itu saja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RuntimeError:bekerja di luar konteks aplikasi

  2. Rangkaian karakter dan penyandian Django

  3. MYSQL SELECT acak di meja besar ORDER BY SCORE

  4. Hubungkan aplikasi python ke database menggunakan centos 7

  5. Mengubah IP menjadi Long di MySQL