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.
- 1. Trợ giúp Với Regular Expression đặc biệt - Không Chứa Một số chuỗi
- 2. Trợ giúp với loại đặc điểm mà
- 3. Magento - tạo một lớp trợ giúp
- 4. Trợ giúp với LINQ khác biệt()
- 5. CodeIgniter: Tạo trợ giúp mới?
- 6. Rails xem người trợ giúp trong tập tin trợ giúp
- 7. Lật một bitmap trong trợ giúp Android?
- 8. Cần trợ giúp tạo tệp cài đặt
- 9. Hỗ trợ các ký tự đặc biệt với str_word_count()
- 10. Cách tạo trình trợ giúp trình bao bọc xung quanh chức năng trợ giúp Url.Content?
- 11. Sử dụng @selector trong RubyMotion
- 12. Không đủ đặc quyền khi cập nhật tệp trợ giúp trong Visual Studio 2012
- 13. Hành vi đặc biệt của hành vi đặc biệt (lạ?)
- 14. UITextField trong UITableViewCell Trợ giúp
- 15. Trợ giúp URL trong JavaScript
- 16. Làm thế nào để tạo ra một băm md5 của một chuỗi trong RubyMotion
- 17. Trợ giúp với Dispatcher.BeginInvoke
- 18. Sự khác biệt giữa người trợ giúp và một phần là gì?
- 19. Bắt SessionFactory cho một Datasource đặc biệt trong Grails
- 20. Git - rebasing để một thẻ đặc biệt
- 21. Làm cách nào để gọi phương thức trợ giúp Rails từ bên trong một phương thức trợ giúp khác?
- 22. file_put_contents và một dòng mới trợ giúp
- 23. Trợ giúp "?" nút
- 24. Android - sendOrderedBroadcast trợ giúp
- 25. Người trợ giúp trong công cụ Rails
- 26. Đường dẫn động trong Trình trợ giúp
- 27. sự khác biệt giữa các thư viện và người trợ giúp trong khung php
- 28. Ruby: Thoát các ký tự đặc biệt trong một chuỗi
- 29. Ký tự đặc biệt trong Android sms
- 30. Hộp trợ giúp Eclipse
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. –