Sự khác biệt giữa Test vs Spec


12

Tôi đang gặp vấn đề về khái niệm vào thời điểm này & tôi không thể tìm thấy bất kỳ thông tin nào về sự khác biệt giữa Test (UnitTest, v.v.) so với Spec (Rspec, v.v.).

Theo như tôi biết, thông số kỹ thuật là vào các bài kiểm tra Tích hợp và bài kiểm tra là vào UnitTest nhưng chỉ vậy thôi.

Bạn có thể giải thích sự khác biệt là gì?

Câu trả lời:


12

Nhìn vào sơ đồ sau. Nó minh họa mối quan hệ giữa Phát triển dựa trên thử nghiệm (TDD) và Phát triển dựa trên thử nghiệm chấp nhận (ATDD):

Sơ đồ phát triển dựa trên thử nghiệm

Lưu ý rằng vòng lặp bên trong, TDD, được bao bọc bởi vòng lặp bên ngoài, ATDD. Các yêu cầu (được minh họa bằng hộp Tiêu chí chấp nhận) thúc đẩy việc tạo các thử nghiệm chấp nhận tự động, từ đó thúc đẩy việc tạo ra các Thử nghiệm đơn vị để thực hiện.

Nói chung, RSpec sẽ được sử dụng trong những tình huống mà bạn muốn thể hiện các thử nghiệm theo cách thân thiện với Nhà phân tích kinh doanh, cụ thể là tạo ra các thử nghiệm chấp nhận tự động (vòng tròn tan); trong khi các khung Kiểm tra đơn vị như nUnit chuyên biệt hơn cho loại thử nghiệm đơn vị được viết từ phối cảnh TDD của nhà phát triển ở cấp độ triển khai (vòng tròn màu vàng).


Một ví dụ điển hình là bảng băm, điều này cần các bài kiểm tra đơn vị chi tiết, vì nó dự kiến ​​sẽ hoạt động cho tất cả các đầu vào có thể, không chỉ là tập hợp các ví dụ nhỏ trong các bài kiểm tra chấp nhận. Tuy nhiên, mã tính toán giảm giá cho một khách hàng tốt, có khả năng được bao phủ tốt bởi các thử nghiệm chấp nhận, do đó có thể không cần hoặc có một vài thử nghiệm đơn vị.
Ian

3

ok chúng tôi có một số điều khoản khác nhau ở đây, vì vậy đây là những gì đang xảy ra

  • Chúng tôi có bài kiểm tra đơn vị. Các cấp độ khác là kiểm thử tích hợp, kiểm tra hiệu suất, v.v.
  • rspec có thể được sử dụng cho nhiều cấp độ thử nghiệm ở trên, ví dụ như đối với các mô hình, bộ điều khiển và chế độ xem thông qua các thử nghiệm tính năng của Capybara.
  • từ 'spec' xuất phát từ đặc điểm kỹ thuật nằm ở trung tâm của một bài kiểm tra - nó chỉ định một cái gì đó.
  • rspec - một khung được sử dụng để kiểm tra các trình duyệt agaist, thường được sử dụng với các ứng dụng Ruby on Rails.
  • tệp spec - tệp rspec thường kết thúc bằng _spec.rb và thường được gọi là tệp spec.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.