Vì vậy, tôi đang viết một số thử nghiệm rspec và tôi xấu hổ vì thiếu hiểu biết của Ruby.Ruby yêu cầu 'tệp' và vị trí tương đối
Tôi có một cấu trúc tập tin đó trông giống như sau:
- GUI_Tests/thử nghiệm/test_spec.rb
- GUI_Tests/windows_gui.rb
- GUI_Tests/upload_tool.rb
khi tôi chạy spec cho tệp test_spec.rb, tôi yêu cầu tệp upload_tool phải được bao gồm như sau:
spec -r ../upload_tool -fs test_spec.rb
Sau đó, upload_tool đòi hỏi windows_gui.rb, như vậy:
require '../windows_gui'
Câu hỏi của tôi là, tại sao nên tôi phải tham khảo tương đối windows_gui.rb để test_spec.rb (yêu cầu ../) chứ không phải là upload_tool.rb? Điều này cảm thấy sai với tôi, tôi sẽ muốn sử dụng upload_tool.rb trong bối cảnh của các thông số thử nghiệm, có nghĩa là thay đổi yêu cầu mỗi lần.
Rõ ràng là tôi đang thiếu thứ gì đó, nhưng nếu tôi không liên quan đến thông số thử nghiệm, tôi sẽ gặp lỗi không tìm thấy tệp.
Xin lỗi vì đã quá ngu dốt ở đây, nhưng tôi sắp hết tay. Bất kỳ suy nghĩ nào được đánh giá cao.
BB
Không cảm thấy xấu - Tôi tìm thấy giao dịch với đường dẫn tương đối là một trong những điều khó chịu nhất về ruby. Tôi đã liệt kê nó trong [những điều bạn muốn cải thiện bằng ngôn ngữ ruby] là gì (http://stackoverflow.com/questions/585457/what-are-the-things-you-would-like-improved-in -e-ruby-language/3261063 # 3261063) –
tháng 8 năm 2012 - Lưu ý rằng bài đăng này hiện đã được hai tuổi. Hầu hết mọi người hiện đang ở trên 1.9.2. Xem bài đăng này http://stackoverflow.com/questions/9345412/relative-file-path-in-rspec cũng để có giải pháp tốt nhất (tháng 2 năm 2012) –