Làm cách nào để quyết định sử dụng khung thử nghiệm nào?


8

Tình hình là thế này.

Tôi là một nhà phát triển cơ sở cho một dự án CNTT của chính phủ nhỏ. Chúng tôi không có bất cứ điều gì về tích hợp liên tục hoặc khung kiểm tra tự động. Nhưng ý tưởng là phát triển loại điều này / cải thiện môi trường phát triển của chúng ta.

Sản phẩm là một thuật toán xử lý dữ liệu sau đó hiển thị thông tin cho người dùng cuối thông qua một ứng dụng web.

Vì vậy, sắp tới là một loạt các công việc sửa đổi javascript webapp. Vì vậy, chúng tôi muốn triển khai thử nghiệm đơn vị cho javascript.

Tôi đã xem xét câu hỏi tràn ngăn xếp này trong đó phác thảo một số khung kiểm tra đơn vị khác nhau cho javascript.

Câu hỏi là - làm thế nào để tôi quyết định giữa khung nào để bắt đầu sử dụng?

  • Danh sách các tiêu chí để chọn khung kiểm tra là gì?
  • Có thực tế để thử tất cả?
  • Dành nhiều thời gian để đọc diễn đàn / vv về cách chúng được sử dụng?

Câu trả lời:


13

Danh sách các tiêu chí để chọn khung kiểm tra là gì?

1) Cú pháp

Khi bạn điều tra các khung kiểm tra khác nhau, bạn sẽ nhận thấy rằng cú pháp là một yếu tố khác biệt trên tất cả chúng. Điều này thực sự sẽ phụ thuộc vào những gì làm cho bạn cảm thấy thoải mái.

Ví dụ, qUnit là một khung kiểm tra khai báo. API của nó bao gồm các hàm được gọi là test, bằng, rictEqual, deepEqual, v.v.

Một khung kiểm tra khác, mocha , giống như rspec ở chỗ nó đọc trong một câu giống như cấu trúc hơn. API của nó bao gồm các hàm được gọi là mô tả, nó, assert.equal, v.v.

Sở thích cá nhân của tôi là một cấu trúc như qunit.

2) Tính năng - Sơ khai, gián điệp, Máy chủ giả, Đồng hồ giả, v.v.

Khi bạn bắt đầu thử nghiệm trong Javascript, bạn sẽ nhanh chóng thấy mình trong các tình huống cần khung kiểm tra để giúp bạn kiểm tra các trường hợp sử dụng nhất định. Ví dụ:

Điệp viên - Điều này sẽ giúp bạn phát hiện xem mã của bạn có được gọi là hàm khi cần không

Sơ khai - Rất giống với một gián điệp ngoại trừ nó chứa hành vi được xác định trước (Ví dụ: Khi sơ khai được gọi, hãy trả về foo)

Fake Server - Nếu mã của bạn phát hành các cuộc gọi AJAX và bạn muốn giả mạo phản hồi của cuộc gọi AJAX, Fake Server sẽ giúp bạn dễ dàng kiểm tra hơn.

Đồng hồ giả - Nếu mã của bạn phản ứng khác nhau dựa trên ngày hoặc giờ, thì đồng hồ giả sẽ giúp bạn kiểm soát chính xác thời gian trong khi thử nghiệm của bạn chạy.

Đề xuất của tôi cho Khung Javascript hỗ trợ tất cả các tính năng ở trên là Sinon.JS . Bởi vì tôi thích một qunit như cú pháp và khung, tôi sử dụng qunit AND Sinon.JS. qunit xử lý các xác nhận của tôi và chạy thử nghiệm của tôi. Sinon.JS cho tôi khả năng khai thác, gián điệp, chạy máy chủ giả và giả đồng hồ.

3) Hỗ trợ cộng đồng

Là khung kiểm tra của bạn được hỗ trợ bởi cộng đồng? Ví dụ: grunt (một công cụ môi trường xây dựng) hỗ trợ chạy qunit trong máy chủ PhantomJS không đầu: https://github.com/gruntjs/grunt-contrib-qunit . Điều này giúp bạn dễ dàng viết bài kiểm tra và để chúng tự động chạy mỗi khi tôi lưu tệp kiểm tra.

Có thực tế để thử tất cả? Không, nó không thực tế. Thay vào đó hãy điều tra từng trang web của khung và chọn một trang web mà bạn cảm thấy thoải mái và một trang web cũng sẽ hỗ trợ bạn trong khi bạn kiểm tra viết.

Dành nhiều thời gian để đọc diễn đàn / vv về cách chúng được sử dụng? Lấy một cuốn sách về khung bạn chọn và đọc lướt qua nó khi bạn cần.

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.