Rate this post

Unit Testing là gì?

Unit Testing là một phần của quy trình phát triển phần mềm trong đó đơn vị / thành phần cụ thể của ứng dụng được kiểm tra. Unit Testing của từng thành phần là cần thiết để nâng cao hiệu suất ứng dụng. Chúng ta có thể nói rằng một đơn vị là phần nhỏ nhất có thể kiểm tra được của một chương trình có thể được cô lập một cách hợp lý trong một hệ thống. Trong các ngôn ngữ lập trình khác nhau, chương trình riêng lẻ, một chương trình con, một hàm, một phương thức hoặc một lớp có thể được biểu diễn dưới dạng một Đơn vị. Có thể có nhiều đơn vị riêng lẻ trong mô-đun. Trong lập trình hướng đối tượng, phương thức thuộc về lớp cơ sở / lớp cha, một lớp trừu tượng có thể được biểu diễn dưới dạng các đơn vị nhỏ hơn. Hình ảnh bên dưới hiển thị loại thử nghiệm.

Nhiệm vụ Unit Testing

Nhiệm vụ Unit Testing được đưa ra bên dưới.

  • Unit Test Plan
    Prepare
    Review
    Rework
    Baseline
  • Unit Test Cases/Scripts
    Prepare
    Review
    Rework
    Baseline
  • Unit Test
    Perform

Lợi thế của Unit Testing

Dưới đây là một số ưu điểm của Unit Testing.

  1. Chúng tôi có thể duy trì mã một cách dễ dàng
  2. Nó làm cho mã có thể tái sử dụng nhiều hơn.
  3. Nó làm cho sự phát triển nhanh hơn.
  4. Mã có thể được gỡ lỗi dễ dàng.
  5. Nó phát hiện chi phí kiểm tra và sửa chữa các lỗi, bởi vì bất kỳ lỗi nào cũng được ghi lại trong giai đoạn đầu.

Các bài viết liên quan:

Unit Testing trong Dart

Trong Dart, chúng tôi yêu cầu phải bao gồm một thư viện bên ngoài có tên “test”, tạo điều kiện thuận lợi cho cách viết chuẩn và chạy unit test riêng lẻ. Unit Testing có thể đạt được bằng cách sử dụng các bước sau.

Bước – 1: Cài đặt gói “test

Để bao gồm thử nghiệm đơn vị trong dự án của chúng tôi, chúng tôi phải cài đặt “thử nghiệm” gói của bên thứ ba trong dự án làm việc hiện tại của chúng tôi. Hãy mở pubspec.yaml trong dự án của chúng tôi và nhập câu lệnh sau.

  1. dependencies:  
  2. test:  

Bây giờ, nhấp chuột phải vào tệp pubspec.yaml và nhấp vào Pub: get dependencies. Điều này sẽ cài đặt gói “thử nghiệm” trong dự án của chúng tôi.

Chúng tôi cũng có thể cài đặt nó bằng cách sử dụng lệnh sau.

  • pub get 

Bước – 2: Nhập gói “thử nghiệm”

Nhập dòng sau để nhập gói “thử nghiệm” trong dự án của bạn.

  • import “package:test/test.dart”;   

Bước – 3: Viết các case kiểm tra

Hàm test () cấp cao nhất được thêm vào bởi các Test case. Trong hàm test () , chúng tôi thực hiện xác nhận kiểm tra bằng cách sử dụng hàm mong đợi () . Hàm Expert () nhận hai đối số là realValueMatchValue .

Cú pháp:

test("Test Description", () {  
   expert(actualValue, matchingValue)  
});  

Nhóm các test case

Chúng ta có thể tạo một nhóm gồm nhiều case kiểm thử bằng cách sử dụng hàm group () . Nó giúp nhóm các case thử nghiệm dựa trên một số tiêu chí. Mô tả của mỗi nhóm được chỉ định trong phần đầu của mô tả thử nghiệm của nhóm đó.

Cú pháp:

Cú pháp được đưa ra dưới đây.

group("Test_Group_Name", () {   
   test("test_case_name_1", () {   
      expect(actual, equals(exptected));   
   });    
   test("test_case_name_2", () {   
      expect(actual, equals(expected));   
   });   
})  

Ví dụ – 1 (Passing Test)

Đây là ví dụ mà chúng tôi xác định một phương thức add () để Unit Testing. Nó chấp nhận hai tham số là một giá trị số nguyên và trả về một số nguyên đại diện cho tổng. Để kiểm tra phương thức add () , hãy hiểu ví dụ sau:

Bước – 1: Chúng tôi nhập gói test.

Bước -2: Chúng tôi xác định kiểm tra bằng cách sử dụng hàm test () và nó sử dụng hàm chuyên gia () để áp đặt một khẳng định.

import 'package:test/test.dart';        
// Importing  the test package   
  
int add(int x,int y)                    
// this function to be tested {   
   return x+y;   
}    
void main() {   
   // Defining the test function   
   test("test to check add method",(){    
      // Arrange   
      var expected = 30;   
        
      // Act   
      var actual = add(10,20);   
        
      // Asset   
      expect(actual,expected);   
   });   
}  

Ví dụ – 2 unsuccessful Test

Chúng tôi xác định phương thức sub () có một sai lầm logic. Hãy xem một ví dụ sau.

import 'package:test/test.dart';   
int add(int x,int y){   
   return x+y;   
}  
int sub(int x,int y){   
   return x-y-1;   
}    
void main(){   
   test('test to check sub',(){   
      var expected = 10;     
      // Arrange   
        
      var actual = sub(30,20);    
      // Act   
        
      expect(actual,expected);    
      // Assert   
   });   
   test("test to check add method",(){   
      var expected = 30;     
      // Arrange   
        
      var actual = add(10,20);    
      // Act   
        
      expect(actual,expected);    
      // Asset   
   });   
}  

Trong ví dụ trên, hàm add () được kiểm tra thành công nhưng hàm sub () không thực hiện được bài Unit Testing do lỗi logic.

Nhóm các test case

Chúng ta có thể viết nhiều case kiểm thử dưới dạng nhóm. Nhóm () được sử dụng để nhóm các phương thức này lại với nhau. Nó giúp viết mã sạch hơn nhiều.

Trong ví dụ sau, chúng tôi đang viết một case thử nghiệm cho hàm split () và hàm trim () . Chúng tôi đã nhóm các hàm này lại với nhau và đặt tên là String.

Hãy hiểu ví dụ sau:

Ví dụ

import "package:test/test.dart";   
void main() {   
  
   group("String", () {   
     // First test case  
      test("testing on split() method of string class", () {   
         var string = "Hii,Hello,Hey";   
         expect(string.split(","), equals(["Hii", "Hello", "Hey"]));   
      });   
      // Second test case  
      test("testing on trim() method of string class", () {   
         var string = "  Hii ";   
         expect(string.trim(), equals("Hii"));   
      });   
   });   
}  

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now