Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

DbUnit thử nghiệm Java MySQL

DbUnit có thể hoạt động với cơ sở dữ liệu thực. Bạn chỉ có thể làm điều đó với xml.

Đầu tiên hãy thêm vào pom.xml smth như thế này (phiên bản có thể là phiên bản khác):

<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>

Sau đó, thêm vào thư mục tài nguyên thử nghiệm của bạn spring-config.xml (tôi sử dụng 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>

Thêm bean cho các lớp bạn cần kiểm tra trong xml này.

Trong lớp thử nghiệm, hãy thêm chú thích:

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

Trước khi phương pháp thử nghiệm, hãy thêm các chú thích bạn cần tùy thuộc vào mục tiêu thử nghiệm. Ví dụ:

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

Nó có nghĩa là gì? Bạn có xml của mình với tập dữ liệu. Dữ liệu trong tệp này sẽ được chuyển đến cơ sở dữ liệu của bạn trước khi kiểm tra (@DatabaseSetup) và sau khi kiểm tra, bạn có thể thực hiện lại việc này (@DatabaseTearDown) - tệp tương tự để khôi phục trạng thái ban đầu hoặc tệp khác khi bạn cần.>

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn cập nhật mysql với truy vấn phụ

  2. Thực hành tốt nhất để thiết kế vai trò người dùng và hệ thống quyền?

  3. Sử dụng truy vấn MySQL với các biến từ C #

  4. Số cột của mysql.user bị sai. Dự kiến ​​là 42, tìm thấy 44. Bảng có thể bị hỏng

  5. Công cụ tốt để trực quan hóa lược đồ cơ sở dữ liệu?