GIỚI THIỆU

Để kiểm thử một ứng dụng, trước tiên chúng ta sẽ xây dựng một chương trình mẫu tức là một Calculator và sau đó chúng ta sẽ kiểm thử bằng các phương pháp của nó. Vì vậy, không cần thêm bất kỳ quảng cáo nào nữa, hãy bắt đầu thôi.

ĐIỀU KIỆN TIÊN QUYẾT

Cài đặt Visual Studio 2019 với .NET Framework từ đây

CHƯƠNG TRÌNH MẪU

1 – Tạo Project bằng cách chọn “Class Library .NET core” làm Mẫu.

Image for post

2 – Đặt cho nó một cái tên thích hợp. Vì chúng ta đang tạo một ứng dụng máy tính. Tôi sẽ đặt tên nó là “Calculator”.

Image for post

3 – Sau khi tạo project, chúng ta sẽ có một class hiện có “Class1.cs”. Xóa lớp này đi.

Image for post

4 – Thêm một class mới với tên “Basic Math.cs”. Để làm điều đó, hãy nhấp chuột phải vào Project “Calculator”. Chọn Add và sau đó chọn class.

Image for post

5 – Đặt class này ở chế độ công khai bằng cách thêm thuộc tính public trước tên lớp. Hãy thêm 4 hàm toán học đơn giản trong lớp này như cộng, trừ, nhân và chia. Các phương thức này nhận 2 biến kép và trả về kết quả của phép toán.

Image for post

6 – Vì chúng ta đã hoàn thành ứng dụng, hãy build nó và kiểm tra xem có bất kỳ lỗi nào không.

XUNIT PROJECT

1 – Tạo project mới trong cùng một solution. Điều này có thể được thực hiện bằng cách nhấp chuột phải vào Solution. Đi tới Add -> New Project. Từ hộp thoại, chọn “xUnit Test Project (.NET Core)”.

Image for post

Tôi đang đặt tên nó là “TestCalculator”.

2 – Sau khi tạo project, mặc định chúng ta sẽ có một class. Xóa class đó đi. Tạo một cái mới có tên là “TestBasicMath.cs”. Đặt class này ở chế độ công khai bằng cách thêm thuộc tính public trước tên lớp. Trên cùng, hãy thêm chỉ thị Calculator bằng cách viết “using Calculator”. Đồng thời thêm chỉ thị Xunit “using Xunit”.

3 – Bây giờ chúng ta phải thêm tham chiếu của project mà chúng ta cần kiểm tra (trong trường hợp của chúng ta là Project “Calculator“) trong Calculator kiểm thử của chúng ta (trong trường hợp của chúng ta là “TestCalculator“). Để có thể làm điều đó, hãy nhấp chuột phải vào project “TestCalculator”. Sau đó nhấp vào Add -> Project Reference.

Image for post

Chọn Project “Calculator” làm reference.

Image for post

4 – Bây giờ chúng ta cần thêm gói cập nhật NuGet. Để làm điều đó, hãy nhấp chuột phải vào project “TestCalculator” và nhấp vào “Manage NuGet Packages”. Bây giờ đi đến tab cập nhật trong cửa sổ mới chọn tất cả các gói để cập nhật. Vì tôi đã Cài đặt các gói này nên tôi có tất cả các gói này trong tab đã cài đặt của mình.

Image for post

VIẾT TEST CASE

Đã đến lúc viết các Test case – Trường hợp thử nghiệm được mong đợi nhất của chúng ta. Nhưng trước đó, điều quan trọng là phải biết các phần chính của Test case.

TEST CASE

Thông thường, một test case bao gồm 3 phần chính.

1 – Arrange (Những gì mong đợi)

Ở đây chúng ta chỉ định những gì được mong đợi từ phương pháp của chúng ta mà chúng ta được cho là đang thử nghiệm.

2 – Action (Thực tế là gì)

Ở đây, chúng ta gọi là phương pháp mà chúng ta được cho là đang thử nghiệm. Mục đích của điều này là để có được kết quả thực tế từ phương pháp.

3 – Assertion (Thực tế so với Dự kiến)

Ở đây chúng ta so sánh giá trị thực tế với giá trị mong đợi.

LOẠI TEST CASE TRONG XUNIT

FACT
Thuộc tính [Fact] trước một test case biểu thị một trường hợp thử nghiệm bình thường. Chúng ta có.

THEORY
Thuộc tính [Theory] trước một test case biểu thị rằng chúng ta có thể cung cấp các tham số cho test case của mình.

Ví dụ: đối với testcase1

[Theory]
[InlineData(2,3,5)]
Testcase1 (int n1, int n2 , ExpectedValue)

Ở đây 2, 3 và 5 là các tham số cho testcase1. Hơn nữa, để kiểm tra các trường hợp cạnh trong một test case, thay vì viết trường hợp kiểm tra Thực tế cho mỗi trường hợp cạnh. Chúng ta có thể có thuộc tính [InLineDate] để kiểm tra từng trường hợp. Ví dụ, đối với phương pháp TestDivision

[Theory]
[InlineData(0,5,0)]
[InlineData(5,0,0)]
[InlineData(10,5,2)]
TestDivision (int n1, int n2 , ExpectedValue)

THỰC THI

Test case Phép trừ

Để kiểm tra phương pháp Trừ chúng ta sẽ có 3 thành phần như dưới đây. Lưu ý rằng chúng ta đã sử dụng Fact ở đây vì không có trường hợp cạnh nào như vậy ở đây trong trường hợp này.

Image for post

Test case Phép chia

Vì trong khi chia hai số có lẽ có 3 kịch bản;
1) +ve hoặc –ve làm số chia và số bị chia
2) 0 là số bị chia
3) 0 là số chia

Ở đây chúng ta cần kiểm tra tất cả các trường hợp này do đó chúng ta có thể sử dụng thuộc tính [Theory] ở đây. Để được giải thích thêm, hãy tham khảo đoạn mã dưới đây:

Image for post

Chạy Test case

Để chạy các test case này, hãy đi tới Test -> Test Explorer. Build solution và chạy các test case này.

Image for post

Bạn có thể tham khảo source code tại đây.

Đọc bài viết Tiếng Anh tại đây: https://medium.com/@aymanabaid7/beginners-guide-to-unit-testing-using-xunit-net-core-and-visual-studio-2019-e2d53ae873e5

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 *

Copy link
Powered by Social Snap