2015-09-24 16 views
9

Tôi đã sử dụng FEST-Assert và được chuyển đến AssertJ sau khi ngừng phát triển.Thư viện xác nhận tin cậy so với AssertJ

Gần đây tôi đã được trỏ đến Kho lưu trữ Google với một thư viện xác nhận khác Truth (http://google.github.io/truth/).

Đọc các ví dụ Tôi không thể tìm thấy bất kỳ lợi thế nào khi bắt đầu sử dụng nó trên AssertJ. Vì vậy, nó chỉ là vấn đề của hương vị những gì để sử dụng. Nhưng có lẽ tôi đã bỏ lỡ vấn đề, phải không?

Trả lời

9

Từ một trong comments của họ tại GitHub:

Sự khác biệt cốt lõi là việc thiết kế Truth bao gồm hai cụ lĩnh vực mở rộng - đó là một chiến lược cho sự thất bại đề xuất - như vậy mà một "chủ đề" cho số nguyên, hoặc một chủ đề cho chuỗi có thể được tái sử dụng trong bối cảnh kết quả hoàn toàn khác nhau cho thất bại. Một ví dụ nổi bật là là sự khác biệt giữa việc sử dụng JUnit của AssertionError và nó là AssumptionViolationException. Sự thật cho phép bạn sử dụng cùng một lớp đề xuất cho cả hai.

Khu vực linh hoạt khác là khả năng tạo các loại xác nhận/đề xuất mới và móc chúng vào mà không khai báo có thể là phương pháp tĩnh xung đột để nhập. Điều này có thể dành cho các loại mới (giả sử, thêm protobufs) hoặc sử dụng mới các loại hiện có (ví dụ: Các chuỗi được coi là Uris). Đây là tính năng assertAbout().

Ngoài ra, Truth rất giống với AssertJ, vì nó là lấy cảm hứng từ FEST, trong đó AssertJ là một ngã ba của phát triển 2.0 dòng.

Tóm lại, Chân lý được thiết kế có thể mở rộng và linh hoạt hơn một chút, nhưng AssertJ sẽ tuyệt vời (có thể là lớn nhất) cho các xác nhận về loại tiêu chuẩn.

+0

Cảm ơn, Michal, tôi nghĩ việc thử và tìm hiểu –

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