Cách viết unit test case

     

Khi viết ra một quãng code, ngoài việc nó chịu chạy ra thì họ cần phải bảo đảm an toàn nó chạy đúng cùng với ý đồ của chính bản thân mình (đề bài, yêu cầu,...). Hồ hết người hay được sử dụng cách in từng tác dụng ra screen và kiểm tra bằng mắt, điều này rất tốn công sức cũng như thời gian. Unit thử nghiệm ra đời để giúp đỡ ta phần nào dễ dàng hóa câu chuyện này.

Bạn đang xem: Cách viết unit test case

Unit chạy thử là gì?

Trong kiểm thử ứng dụng có 4 mức độ kiểm thử: Unit demo ( kiểm thử mức 1-1 vị), Intergration thử nghiệm ( kiểm test tích hợp), System test (kiểm test hệ thống), Acceptance thử nghiệm (kiểm demo chấp nhận).

Unit demo là cường độ kiểm thử nhỏ nhất trong quá trình kiểm demo phần mềm. Unit chạy thử kiểm thử những đơn vị nhỏ dại nhất vào mã mối cung cấp như method, class, module...Do kia Unit test nhằm mục đích kiểm tra mã nguồn của các chương trình, các tính năng riêng rẽ hoạt động đúng hay không.

Unit testing được thực hiện bởi thiết kế viên.

Hướng dẫn Unit chạy thử với Java

Hôm nay mình vẫn hướng dẫn các bạn sử dụng Junit để làm test case đến Java. Trước tiên chúng ta cần sẵn sàng vài thứ:

IntelliJMavenJunit 5JDK 8 or later1. Tạo nên project

*

*

Sau lúc tạo hoàn thành project, chúng ta thấy tệp tin pom.xml.

File pom.xml là khu vực khai báo tất cả những gì liên quan đến dự án công trình được cấu hình qua maven, như khai báo các dependency, version của dự án, thương hiệu dự án, repossitory …

Chúng ta thêm các thư viện Junit trải qua pom.xml thay vì add file jar như lúc áp dụng ant.

pom.xml

4.0.0 org.example DemoUnitTest 1.0-SNAPSHOT org.apache.maven.plugins maven-compiler-plugin 3.8.1 org.junit.jupiter junit-jupiter-engine 5.6.2 chạy thử org.junit.jupiter junit-jupiter-params 5.6.2 test org.junit.jupiter junit-jupiter-api 5.6.2 chạy thử 2. Viết vài dòng code để sở hữu chuyện mà demo nèTạo một class MathUtil nghỉ ngơi ..srcmainjava

MathUtil

public class MathUtil public int sum(int a, int b) return a+b; 3. Chế tác testcase version 1-1 giảnChúng ta viết vài chạy thử case vơi nhàng thông qua Annotation
Test và hàm assertEquals().

Xem thêm: Chu Kỳ Kinh Nguyệt 32 Ngày, Cách Tính Ngày Rụng Trứng Chu Kỳ 28

Tạo một class MathUtilTest trên ..src estjava

import org.junit.jupiter.api.Test;import static org.junit.jupiter.api.Assertions.*;public class MathUtilTest MathUtil util = new MathUtil();
Test void test1() assertEquals(util.sum(1,1),2);
Test void test2() assertEquals(util.sum(1,1),3);
Test void test3() assertEquals(util.sum(1,2),3); IntelliJ hỗ trợ các bạn chạy từng chạy thử case hoặc cả class test thông qua các nút hiện xung quanh số dòng luôn luôn nhé :D xịn xò chưa, các chúng ta có thể assert những lần trong một hàm test().

Khi chạy test, nó vẫn kiểm tra toàn bộ các Expected với Actual, nó chỉ cho bạn pass khi tất cả đều thành công, chỉ cần có 1 kiểm tra sai xem như chạy thử fail. (Giống như toán tử and vậy đó).

Khi gồm sai sót xảy ra, nó đã hiện thông báo lên screen là test nào sai với sai loại gì.

*

Ví dụ nè, trong test2() mình để actual là (1+1) tuy thế expected là 3 chính vì vậy nó vẫn sai, tổng thể bài kiểm tra coi như 0 điểm :v

4. Unit kiểm tra với file csv

Thay vì viết từng testcase căng thẳng thế này, bạn có thể sử dụng tệp tin csv để làm test case, đưa vào chỉ cần chạy file và trả tác dụng thôi.

Tạo một tệp tin data.csv tại .srcmain esources

a,b,result1,1,21,2,31,3,41,4,51,5,62,1,32,2,42,3,52,4,62,5,7tạo thêm 1 class MathUtilCsvTest.java

import org.junit.jupiter.params.ParameterizedTest;import org.junit.jupiter.params.provider.CsvFileSource;import static org.junit.jupiter.api.Assertions.*;public class MathUtilCsvTest
ParameterizedTest
CsvFileSource(resources = "/Data.csv", numLinesToSkip = 1) void test(int a, int b, int result) MathUtil math = new MathUtil(); assertEquals(math.sum(a,b),result); Các bạn nhớ chuẩn bị xếp các tham số vào hàm test() theo thiết bị tự những tham số trong tệp tin CSV nhé. Do dòng trước tiên mình cần sử dụng làm nơi để thương hiệu tham số mang lại đỡ nhầm lẫn rồi phải mình đang skip nó đi bởi numLinesToSkip = 1.

Tạm kết

Mình đã hướng dẫn chúng ta sử dụng Junit để viết Unit demo cho Java. Đây chỉ là 1 trong những ví dụ cơ bản và rất nhỏ tuổi về vận dụng của Junit. Ngoài ra các chúng ta có thể xem thêm một số quy tắc lúc viết chạy thử Case hoặc những hàm khác ngoại trừ assertEqual() để rất có thể thực hiện các bước hiệu quả rộng nhé.