2012-05-13 28 views
27

Tôi đọc ở đâu đó rằng 'minitest' là "mới thử nghiệm :: đơn vị cho ruby ​​1.9.2+".minitest, kiểm tra :: đơn vị, và đường ray

Nhưng ruby ​​1.9.3 dường như bao gồm cả test::unitminitest, là sự thật?

Trong thử nghiệm đường ray mặc định, như được nêu trong Rails testing guide .... những thứ như ActiveSupport::TestCase, ActionController::TestCase, được các sử dụng Test::Unit hoặc Minitest?

Trong hướng dẫn đường ray, nó cho thấy ví dụ với các bài kiểm tra định nghĩa như thế này:

test "should show post" do 
    get :show, :id => @post.id 
    assert_response :success 
end 

cú pháp đó, test string, như trái ngược với việc xác định phương pháp với những cái tên như test_something - không được đề cập trong các tài liệu cho hoặc làTest::Unit hoặc Nhỏ nhất. Nó đến từ đâu? Là Rails thêm nó, hoặc là nó thực sự là một phần của ... bất cứ điều gì kiểm tra đường ray lib đang sử dụng?

PS: Vui lòng không cho tôi biết "chỉ cần sử dụng rspec". Tôi biết về rspec. Tôi đang cố gắng để khám phá các lựa chọn thay thế stdlib, trong bối cảnh đường ray.

Trả lời

16

Có mô-đun Test::Unit "tương thích" đi kèm với Minitest, để bạn có thể (có lẽ) sử dụng kiểm tra Đơn vị :: Bài kiểm tra đơn vị như hiện tại của bạn. Đây có lẽ là mô-đun Test::Unit bạn đang xem.

Do đường ray 3.2.3, thử nghiệm do người tạo tạo bao gồm rails/test_help bao gồm test/unit.

Cú pháp test "something" do là tiện ích mở rộng đường ray. Nó được định nghĩa trong ActiveSupport::Testing::Declarative, được require 'd bởi rails/test_help.

+3

Các "tương thích" chế độ là một trò đùa - họ không bận tâm phù hợp với lên assert * ước đặt tên hàm và nó chỉ đi xuống dốc từ đó. –

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