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.
- Chúng tôi có thể duy trì mã một cách dễ dàng
- Nó làm cho mã có thể tái sử dụng nhiều hơn.
- Nó làm cho sự phát triển nhanh hơn.
- Mã có thể được gỡ lỗi dễ dàng.
- 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.
- dependencies:
- 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à realValue và MatchValue .
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")); }); }); }