Tôi có một số phương pháp phổ biến được sử dụng trong một vài thông số kỹ thuật khác nhau, tôi muốn trích xuất chúng đến một số nơi như một trình trợ giúp thông số có thể truy cập từ tất cả các thông số kỹ thuật. Bất cứ ai biết làm thế nào để làm điều này?Tạo một trợ giúp đặc biệt trong rubymotion
Trả lời
Dưới đây là một số thứ mà sorta quacks như một spec_helper.
# _spec_helper.rb
module SpecHelper
::App::Persistence = {}
# global `before :each` ish
def self.extended(base)
base.before do
::App::Persistence.clear
end
end
def foo_helper
end
end
Và sau đó sử dụng nó:
# my_view_spec.rb
describe "MyView" do
extend SpecHelper
before do
foo_helper
end
...
Hai điều cần ghi nhớ:
- tập tin helper
Spec được đặt tên theo cách như vậy mà nó được nạp đầu tiên (hàng đầu gạch dưới)
Khi chạy thông số kỹ thuật riêng lẻ (ví dụ.
files=my_view_spec.rb
) tập tin helper phải đi cùng -files=spec/my_view_spec.rb,spec/_spec_helper.rb
tôi chỉ ném phương pháp phổ biến của tôi được sử dụng trong kỹ thuật khi chúng được (không gói gọn trong một Module
hoặc bất cứ điều gì) trong một đặc tả/support/utilities.rb tập tin và Rubymotion dường như nhặt chúng lên cao, mặc dù tôi không biết đây có phải là cách "thích hợp" để làm điều này hay không.
Theo dòng http://www.rubymotion.com/developer-center/articles/testing/#_spec_helpers
Spec giúp đỡ được tạo ra trong thư mục đặc tả/người giúp đỡ của một dự án RubyMotion. Một ví dụ có thể là spec/helpers/extension.rb.
Tôi đã sử dụng giải pháp này để giải quyết một vấn đề hơi khác, vì vậy cảm ơn rất nhiều vì điều này! Tôi hy vọng một cái gì đó "chính thức" như thế này cuối cùng tìm đường vào Rubymotion. –