12/08/2018, 13:52

Những điều cơ bản về Junit (p3)

JUnit - API Những package trong JUnit là junit.framework, chứa tất cả các core classes. Và những class quan trọng sau: Assert : Là phương thức assert. TestCase: Là những bộ kiểm tra khác nhau để chạy thử nghiệm. TestResult: là tập những kết quả của việc thực hiện thử nghiệm. TestSuite: ...

JUnit - API

Những package trong JUnit là junit.framework, chứa tất cả các core classes. Và những class quan trọng sau:

  • Assert : Là phương thức assert.
  • TestCase: Là những bộ kiểm tra khác nhau để chạy thử nghiệm.
  • TestResult: là tập những kết quả của việc thực hiện thử nghiệm.
  • TestSuite: là tập hợp những trường hợp test.

Chú ý những điều cơ bản sau: org.junit.Assert class Khai báo kế thừa thư viện java.lang.Object: Public class Assert extends java.lang.Object Lớp này cung cấp 1 tập hợp các methods assertion cho viết test. Chỉ những khẳng định failed mới được ghi lại. Một số methods của Assert class như sau:

  • void assertEquals (boolean expected, boolean actual) : Kiểm tra primitives/object như nhau.
  • void assertFalse (boolean condition) : kiểm tra những điều kiện là fsai.
  • void assertNotNull (Object object) : kiểm tra những object không phải là null.
  • void assertNull (Object object): Kiểm tra những đối object là null
  • void asertTrue (boolean condition) : Kiểm tra những điều kiện đúng.
  • void fail() : 1 test fail sẽ có message hiển thị.

Dựa vào những lý thuyết trên , chúng ta cùng làm 1 ví dụ. Tạo mới 1 class java có tên TestJunit1.java trong C:>JUNIT_WORKSPACE.

anh1.png

Tiếp theo, tạo mới 1 class có tên TestRunner1.java trong C:JUNIT_WORKSPACE để thực hiện test case(s).

anh2.png

Biên dịch các test case và class Test Runner sử dụng javac. C:JUNIT_WORKSPACE>javac TestJunit1.java TestRunner1.java Bây giờ chạy Test Runner, mà sẽ chạy các test case định nghĩa cung cấp bởi class Test Case. C:JUNIT_WORKSPACE>javac TestJunit1

Xác nhận đầu ra: true.

Khẳng định của lớp: org.junit.TestCaset public abstract class TestCase extends Assert implements Test Test Case kiểm tra xác định các trường hợp test nhiều. Một số phương pháp quan trọng của lớp TestCase như sau:

  • int countTestCases() : Đếm số trường hợp kiểm tra bằng cách run(TestResult result)
  • TestResult createResult() : Tạo mới đối tượng TestResult mặc định.
  • String getName(): lấy tên của TestCase.
  • TestResult run(): Một method thuận tiện để chạy thử nghiệm, thu thập kết quả với 1 đối tượng TestResult mặc định.
  • void run(TestResult result): Chạy trường hợp kiểm tra và thu thập các kết quả trong TestResult.
  • void setName(String name): đưa ra tên của 1 TestCase.
  • void setUp(): Thiết lập các vật cố định, ví dụ, mở một kết nối mạng.
  • void tearDown() : Tears down khắc phục, ví dụ đóng kết nối mạng.
  • String toString() : Trả về 1 chuỗi đại diện của các test case.

Chúng ta cùng xem 1 ví dụ. Tạo mới 1 class name TestJunit2.java trong C:JUNIT_WORKSPACE.

anh3.png

Tiếp theo, tạo 1 class có tên TestRunner2.java trong C:>JUNIT_WORKSPACE

anh4.png

Biên dịch các trường hợp thử nghiệm và các lớp học Test Runner sử dụng javac.

C:JUNIT_WORKSPACE>javac TestJunit2.java TestRunner2.java

Bây giờ chạy Test Runner, mà sẽ chạy các trường hợp kiểm tra định nghĩa trong lớp Test Case cung cấp.

C:JUNIT_WORKSPACE>java TestRunner2

Xác định các đầu ra:

No of Test Case = 1

Test Case Name = testAdd

Updated Test Case Name = testNewAdd

true

Sau đây là thư viện cho org.junit.TestResult

public class TestResult extends Object

Một testResult thu thập kết quả của việc thực hiện một trường hợp thử nghiệm. Nó là một thể hiện các Parameter pattern.Các khuôn khổ kiểm tra phân biệt giữa thất bại và sai sót. Một thất bại được dự đoán và kiểm tra với khẳng định. Lỗi là vấn đề không lường trước được như một ArrayIndexOutOfBoundsException. Một số phương pháp quan trọng của lớp TestResult như sau -

  • void addError(Test test, Throwable t) : Thêm một lỗi vào danh sách các lỗi.
  • void addFailure(Test test, AssertionFailedError t): Thêm một thất bại đối với danh sách của những thất bại.
  • void endTest(Test test): Thông báo kết quả là một thử nghiệm đã được hoàn thành.
  • int errorCount(): Gets số lỗi được phát hiện.
  • Enumeration<TestFailure> errors(): Trả về một Enumeration cho các lỗi.
  • int failureCount(): get về các số thất bại phát hiện.
  • void run(TestCase test): Chạy một TestCase.
  • int int runCount(): Gets số lượng các test chạy.
  • void startTest(Test test): Thông báo kết quả là một thử nghiệm sẽ được bắt đầu.
  • void stop(): Đánh dấu là chạy thử nghiệm nên dừng lại. Tạo mới 1 class có tên TestJunit3.java trong C:>JUNIT_WORKSPACE

anh5.png

tiếp theo, tạo 1 class có tên TestRunner3.java trong C:JUNIT_WORKSPACE anh6.png

Khai báo thư viện org.junit.TestSuite

public class TestSuite extends Object implements Test

Một TestSuite là một hỗn hợp của các bài kiểm tra. Nó chạy một tập hợp các trường hợp thử nghiệm. Một số phương pháp quan trọng của lớp TestSuite như sau -

  • void addTest(Test test): Thêm một thử nghiệm để bộ.
  • void addTestSuite(Class<? extends TestCase> testClass): Thêm các bài kiểm tra từ lớp cho bộ phần mềm.
  • int countTestCases(): Đếm số trường hợp thử nghiệm sẽ được chạy thử nghiệm này.
  • String getName(): Trả về tên của bộ phần mềm.
  • void run(TestResult result): Chạy kiểm tra và thu thập kết quả của họ trong một TestResult.
  • void setName(String name): Thiết lập tên của bộ phần mềm.
  • Test testAt(int index): Trả về kiểm tra tại các chỉ số nhất định.
  • int testCount(): Trả về số các bài kiểm tra trong bộ phần mềm này.
  • static Test warning(String message): Trả về một xét nghiệm sẽ thất bại và đăng một thông điệp cảnh báo.
  • Tạo mới 1 class có tên JunitTestSuite.java trong C:JUNIT_WORKPACE

anh7.png

0