Tôi cũng mới sử dụng Ruby và tự hỏi cùng một câu hỏi. Phần tôi đã không nhận được là làm thế nào để tổ chức chúng theo thứ bậc để phù hợp với một tổ chức có khả năng phân cấp của các thành phần trong thư mục lib, và sau đó chạy chúng tất cả như một bộ.
Tôi đã không được Googling lâu, nhưng phát hiện của tôi đã mỏng hơn dự kiến. Điều hữu ích nhất mà tôi đã tìm thấy là điều này từ ruby wiki:
trường hợp thử nghiệm lớp học có thể được thu thập lại với nhau thành dãy phòng thử nghiệm mà là các tập tin Ruby mà đòi hỏi phải trường hợp thử nghiệm khác:
# File: ts_allTheTests.rb
require 'test/unit'
require 'testOne'
đòi hỏi
require 'testThree'
Bằng cách này, các trường hợp thử 'testTwo' liên quan có thể được nhóm lại một cách tự nhiên. Hơn nữa, các bộ thử nghiệm có thể chứa các bộ thử nghiệm khác, cho phép xây dựng một hệ thống phân cấp thử nghiệm.
Trước đây, tôi đã tránh các thư mục con trong thư mục thử nghiệm của tôi và làm một cái gì đó như thế này trong Rakefile của tôi, hoặc bất kỳ tập tin ruby mà thực sự thực hiện các bài kiểm tra:
$LOAD_PATH << File.dirname(__FILE__)
require 'test/unit'
Dir.glob('test/test_*', &method(:require))
Vì vậy, nếu tôi kết hợp hai kỹ thuật , Tôi sẽ có một tập tin cho mỗi thư mục tự động yêu cầu kiểm tra từ thư mục đó, mà lần lượt sẽ được yêu cầu bởi các tập tin cho thư mục mẹ. Nhưng điều này dường như đánh bại nỗ lực ban đầu của tôi để tránh tedium.
Sau đó, tôi tìm thấy someclasses trong ruby-doc nghe có vẻ phù hợp nhưng không được ghi lại. Tuy nhiên, có vẻ như có thêm thông tin có sẵn trở lên cho Test::Unit mà tôi có thể dễ dàng bỏ qua. Tôi chưa đọc tất cả, nhưng có vẻ đầy hứa hẹn.
@nash: Đây là nhận xét đầu tiên tôi đọc trên SO mà tôi thấy thô lỗ. –
Xin lỗi, nó thực sự thô lỗ. Tôi sẽ cố gắng tìm ra. Ví dụ, bạn có thể xem thư mục spec rspec ở đây (https://github.com/rspec/rspec-core/tree/master/spec) Những người này thực sự biết cách viết thông số kỹ thuật. Xin lỗi lần nữa. –