2016-09-23 13 views
5

Khi screencasts và blog bắt đầu xuất hiện xung quanh tính năng clojure.spec mới trong Clojure 1.9, nó trở nên rõ ràng rằng clojure.spec có khả năng thực hiện rất nhiều giảm thiểu rủi ro trước đây được thực hiện bởi các thư viện kiểm tra tự động "truyền thống" hơn như clojure.test, midje, speclj và test.check.Ở mức độ nào là clojure.spec có ý định thay thế thử nghiệm tự động hóa chức năng truyền thống?

Mục đích là khả năng của clojure.test về cơ bản sẽ được nhân bản trong clojure.spec? Nếu bạn đang bắt đầu xây dựng một ứng dụng mới ngay hôm nay để chạy dưới Clojure 1.9+, bạn sẽ dành các thư viện thử nghiệm mà tôi liệt kê ở trên và thay vào đó chỉ dựa vào clojure.spec để cung cấp cho bạn mức độ tin cậy tương tự về hành vi của ứng dụng?

Trả lời

8

Mục đích là khả năng của clojure.test về cơ bản sẽ được nhân bản trong clojure.spec?

  • Không, khả năng của clojure.test sẽ không lặp lại ở clojure.spec
  • kiểm tra Ví dụ dựa trên các bài kiểm tra và sinh sản là những công cụ khác nhau cho các nhu cầu khác nhau, mặc dù có sự chồng chéo

Nếu bạn đang bắt đầu xây dựng một ứng dụng mới ngay hôm nay để chạy dưới Clojure 1.9+, bạn sẽ dành các thư viện thử nghiệm mà tôi liệt kê ở trên và thay vào đó chỉ dựa vào clojure.spec để cung cấp cho bạn mức độ tự tin tương tự hành vi?

  • tôi sẽ sử dụng (và sẽ đề nghị) cả hai ví dụ dựa trên và sinh sản kiểm tra ở hầu hết các dự án
  • Tuy nhiên, tôi nghĩ rằng sẽ có rất ít kiểm tra ví dụ dựa trên khi kết hợp một thử nghiệm ví dụ dựa trên bộ với clojure.spec

Tại sao không phải tất cả clojure.spec? (Ngụ ý)

  • Một số điều rất khó để spec
  • Một số điều rất khó để viết máy phát điện cho
  • Có ví dụ đầu vào/đầu ra trong một tập tin là tốt đẹp cho những kẻ mới vừa đọc mã
  • Unit tests được khá nhiều kỳ vọng trong hầu hết các dự án trưởng thành
  • Và hơn thế nữa

Sli ghtly ngoài chủ đề, nhưng chỉ cần đưa ra một lời nhắc nhở thân thiện rằng clojure.spec có nhiều tiện ích hơn là giảm số lượng các trường hợp thử nghiệm đơn vị trong một dự án.

+0

* 'clojure.spec' có nhiều tiện ích hơn là giảm số lượng các trường hợp thử nghiệm đơn vị *. Hãy mở rộng về điều này - đó là, tôi nghĩ, ngụ ý quá. – Thumbnail

Các vấn đề liên quan