Giới thiệu NUnit Framework

Công Nghệ
Giới thiệu NUnit Framework
Bài viết được sự cho phép của vntesters.com Cũng giống như trong lập trình Python , chúng ta có PyUnit để viết các đoạn mã thực thi việc kiểm thử đơn vị (unit test); trong lập trình .Net, chúng ta có NUnit và MSTest, 2 công nghệ để tự động...

Bài viết được sự cho phép của vntesters.com

Cũng giống như trong lập trình Python, chúng ta có PyUnit để viết các đoạn mã thực thi việc kiểm thử đơn vị (unit test); trong lập trình .Net, chúng ta có NUnit và MSTest, 2 công nghệ để tự động hóa việc kiểm thử đơn vị. MSTest là một testing framework được phát triển bởi đội ngũ Visual Studio của MicroSort, và được cài đặt chung với phiên bản Ultimate của Visual Studio. Tất nhiên, phiên bản này là phiên bản thương mại, và chúng ta phải mua bản quyền để sử dụng. Ngược lại, NUnit là một testing framework mã nguồn mở được phát triển bởi một nhóm lập trình viên (Charlie Poole, Rob Prouse and Simone Busoli), tương tác trực tiếp với Visual Studio, đồng thời có thể chạy độc lập mà không phụ thuộc vào Visual Studio.

Xem thêm các việc làm C++ lương cao trên Station D

Cài đặt NUnit

Download chương trình cài đặt NUnit tại đây và cài đặt NUnit theo hướng dẫn như cài một ứng dụng bình thường, các bạn có thể xem clip dưới đây.

Các từ khóa cơ bản sử dụng trong khi viết kiểm thử tự động với NUnit

Thuộc tính trong NUnit để xác định lớp kiểm thử (test class), phương thức kiểm thử (test method), điều khiện đầu vào (pre-condition) và kết thúc (post-condition).

  • TestFixture: Được sử dụng ở đầu mỗi lớp, xác định lớp đó là một lớp kiểm thử.
  • Test: Được sử dụng ở đầu mỗi phương thức bên trong một lớp TestFixture, xác định đó là một phương thức kiểm thử.
  • SetUp: Được sử dụng ở đầu một phương thức bên trong một lớp TestFixture, xác định đó là một phương thức điều kiện đầu vào cho từng phương thức Test. Có thể có hoặc không trong một lớp TestFixture, và chỉ nên được khai báo một lần duy nhất trong một lớp TestFixture.
  • Teardown: Được sử dụng ở đầu một phương thức bên trong một lớp TestFixture, xác định đó là một phương thức điều kiện kết thúc cho từng phương thức Test. Có thể có hoặc không trong một lớp TestFixture, và chỉ nên được khai báo một lần duy nhất trong một lớp TestFixture.
  • SetUpFixture: Được sử dụng ở đầu một lớp, xác định một lớp kiểm thử cơ bản. Trong lớp này sẽ có điều kiện bắt đầu và điều kiện kết thúc cho toàn bộ các lớp TestFixture trong một không gian tên (namespace). Có thể có hoặc không trong một không gian tên, nhưng chỉ được khai báo một lần duy nhất.
  • TestFixtureSetUp: Được sử dụng ở đầu một phương thức bên trong một lớp TestFixture, xác định đó là một phương thức điều kiện bắt đầu cho từng lớp TestFixture. Có thể có hoặc không trong một lớp TestFixture, và chỉ được khai báo một lần duy nhất.
  • TestFixtureTearDown: Được sử dụng ở đầu một phương thức bên trong một lớp TestFixture, xác định đó là một phương thức điều kiện kết thúc cho từng lớp TestFixture. Có thể có hoặc không trong một lớp TestFixture, và chỉ được khai báo một lần duy nhất.

Trong bài tới, mình sẽ giải thích thêm về các từ khóa khác trong NUnit.
[adToAppearHere]

Thực thi các phương thức kiểm thử

Sau khi viết các đoạn mã kiểm thử, chúng ta không thể chạy trực tiếp các đoạn mã này trên Visual Studio mà phải chuyển nó thành ngôn ngữ máy, và thực thi trên ứng dụng NUnit hoặc Visual Studio (từ VS2013 trở lên).

Các bạn có thể download mã nguồn Visual Studio của đoạn mã trên ở đây (hướng dẫn download tu Tusfile).

Bài viết gốc được đăng tải tại vntesters.com

Có thể bạn quan tâm:

Bài viết liên quan

Ngành IT: Làm việc “trên mây” kiếm nhiều tiền nhất hiện nay

Ngành IT: Làm việc “trên mây” kiếm nhiều tiền nhất hiện nay

Kết quả từ cuộc khảo sát đầu năm của Station D về lương bổng của lập trình viên cho thấy nhiều thay đổi đã và đang diễn ra trong ngành IT – cuộc khảo sát tập trung vào các câu hỏi về khối lượng công việc, triển vọng cũng như...

By stationd
Đâu chỉ mỗi Bitcoin, công nghệ Blockchain còn nhiều ứng dụng hơn thế!

Đâu chỉ mỗi Bitcoin, công nghệ Blockchain còn nhiều ứng dụng hơn thế!

Khi nhắc đến blockchain , lập tức mọi người thường nghĩ ngay đến các loại tiền mã hóa, chẳng hạn như bitcoin. Tuy nhiên, blockchain lại là công nghệ tạo ra tiền mã hóa nhưng bản thân công nghệ này không phải là tiền mã hóa như cách mà chúng...

By stationd
Mock phương thức static trong Unit Test sử dụng PowerMock

Mock phương thức static trong Unit Test sử dụng PowerMock

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong bài viết này, mình sẽ hướng dẫn các bạn Mock các phương thức static trong Unit Test các bạn nhé! Nếu bạn nào chưa biết về Mock trong Unit Test thì mình có thể nói sơ qua...

By stationd