JUnit Kiểm tra tham số hóa với ví dụ sử dụng @Parameters

Kiểm tra tham số hóa trong Junit là gì?

Kiểm tra tham số hóa là thực hiện lặp đi lặp lại cùng một thử nghiệm bằng cách sử dụng các giá trị khác nhau. Nó giúp nhà phát triển tiết kiệm thời gian khi thực hiện cùng một thử nghiệm, chỉ khác nhau ở đầu vào và kết quả mong đợi.

Sử dụng Kiểm tra tham số hóa, người ta có thể thiết lập phương pháp kiểm tra lấy dữ liệu từ một số nguồn dữ liệu.

Hãy xem xét một bài kiểm tra đơn giản để tính tổng các số khác nhau. Mã có thể trông giống như -

Kiểm tra tham số trong Junit

Cách tiếp cận trên dẫn đến rất nhiều sự dư thừa.

Chúng ta cần một cách tiếp cận đơn giản và. Khi sử dụng thử nghiệm được tham số hóa, bạn chỉ cần thêm một phương thức để nhập 10 dữ liệu đầu vào và thử nghiệm của bạn sẽ tự động chạy 10 lần.

Các bước để tạo một Parameterized JUnit thử nghiệm

Mã sau đây cho thấy một ví dụ về một bài kiểm tra tham số. Nó kiểm tra phương thức sum() của lớp Arithmetic:

Bước 1) Tạo một lớp học. Trong ví dụ này, chúng ta sẽ nhập hai số bằng cách sử dụng phương thức sum (int,int) sẽ trả về tổng của các số đã cho

Các bước để tạo một tham số JUnit Thử nghiệm

Bước 2) Tạo một lớp kiểm tra được tham số hóa

Các bước để tạo một tham số JUnit Thử nghiệm

Giải thích mã

  • Dòng mã 11: Chú thích lớp kiểm tra của bạn bằng cách sử dụng @runWith(Parameterized.class).
  • Dòng mã 13: Khai báo biến 'firstNumber' là riêng tư và gõ là int.
  • Dòng mã 14: Khai báo biến 'secondNumber' là riêng tư và nhập dưới dạng int.
  • Dòng mã 15: Khai báo biến 'expectedResult' là riêng tư và gõ là int.
  • Dòng mã 16: Khai báo biến 'airthematic' là riêng tư và gõ là Airthematic.

@RunWith(class_name.class): @RunWith chú thích được sử dụng để chỉ định tên lớp Á hậu của nó. Nếu chúng ta không chỉ định bất kỳ loại nào làm tham số thì bộ thực thi sẽ chọn Khối Junit4ClassRunner theo mặc định.

Lớp này chịu trách nhiệm chạy thử nghiệm với một phiên bản thử nghiệm mới. Nó có trách nhiệm triệu tập JUnit các phương pháp vòng đời như thiết lập (liên kết tài nguyên) và chia nhỏ (giải phóng tài nguyên).

Để tham số hóa, bạn cần chú thích bằng cách sử dụng @RunWith và vượt qua .class cần thiết để được kiểm tra

Bước 3) Tạo một hàm tạo để lưu trữ dữ liệu thử nghiệm. Nó lưu trữ 3 biến

Các bước để tạo một tham số JUnit Thử nghiệm

Bước 4) Tạo một phương thức tĩnh tạo và trả về dữ liệu thử nghiệm.

Các bước để tạo một tham số JUnit Thử nghiệm

Dòng mã 32,33: Tạo mảng hai chiều (cung cấp các tham số đầu vào để cộng). Sử dụng phương thức asList, chúng tôi chuyển đổi dữ liệu thành loại Danh sách. Vì kiểu trả về của phương thức đầu vào là tập hợp.

Dòng mã 30: Sử dụng @Thông số chú thích để tạo một tập hợp dữ liệu đầu vào để chạy thử nghiệm của chúng tôi.

Phương thức tĩnh được xác định bởi chú thích @Parameters trả về một Bộ sưu tập trong đó mỗi mục nhập trong Bộ sưu tập sẽ là dữ liệu đầu vào cho một lần lặp thử nghiệm.

Xét phần tử

1,2,3 {}

Đây

số đầu tiên =1

số thứ hai=2

kết quả mong đợi=3

Ở đây, mỗi phần tử mảng sẽ được chuyển đến hàm tạo, mỗi phần tử một khi lớp được khởi tạo nhiều lần.

Bước 5) Mã hoàn chỉnh

Các bước để tạo một tham số JUnit Thử nghiệm

Giải thích mã:

  • Dòng mã 25: Sử dụng chú thích @Before để thiết lập tài nguyên (Airthematic.class tại đây). Chú thích @Before được sử dụng ở đây để chạy trước mỗi trường hợp thử nghiệm. Nó chứa điều kiện tiên quyết của bài kiểm tra.
  • Dòng mã 36: Sử dụng chú thích @Test để tạo thử nghiệm của chúng tôi.
  • Dòng mã 39: Tạo một câu lệnh khẳng định để kiểm tra xem tổng của chúng tôi có tương đương với những gì chúng tôi mong đợi hay không.

Bước 6) Tạo một lớp chạy thử nghiệm để chạy thử nghiệm được tham số hóa:

Các bước để tạo một tham số JUnit Thử nghiệm

Giải thích mã:

  • Dòng mã 8: Khai báo phương thức chính của bài kiểm tra lớp sẽ chạy JUnit thử nghiệm.
  • Dòng mã 9: Thực hiện các trường hợp thử nghiệm bằng JunitCore.runclasses, nó sẽ lấy tên lớp thử nghiệm làm tham số (Trong ví dụ của chúng tôi, chúng tôi đang sử dụng Airthematic.class).
  • Dòng mã 11: Xử lý kết quả bằng vòng lặp for và in ra kết quả không thành công.
  • Dòng mã 13: In ra kết quả thành công.

Đầu ra:

Đây là kết quả đầu ra cho thấy thử nghiệm thành công không có dấu vết lỗi như được đưa ra dưới đây:

Các bước để tạo một tham số JUnit Thử nghiệm

Xem kết quả trên bảng điều khiển, hiển thị phép cộng hai số: -

JUnit Kiểm tra tham số

Tổng kết

Thử nghiệm tham số hóa cho phép nhà phát triển thực hiện lặp đi lặp lại cùng một thử nghiệm bằng cách sử dụng các giá trị khác nhau.

Các chú thích quan trọng sẽ được sử dụng trong quá trình tham số hóa

  • @RunWith
  • @Thông số