Tôi đang cố gắng xây dựng một số bài kiểm tra đơn vị để kiểm tra người giúp đỡ Rails của mình, nhưng tôi không bao giờ có thể nhớ cách truy cập chúng. Làm phiền. Gợi ý?Làm cách nào để kiểm tra người trợ giúp trong Rails?
Trả lời
Trong thanh ray 3 bạn có thể thực hiện điều này (và thực tế đó là điều tạo ra máy phát):
require 'test_helper'
class YourHelperTest < ActionView::TestCase
test "should work" do
assert_equal "result", your_helper_method
end
end
Và tất nhiên the rspec variant by Matt Darby công trình đường ray 3 quá
bị đánh cắp từ đây: http://joakimandersson.se/archives/2006/10/05/test-your-rails-helpers/
require File.dirname(__FILE__) + ‘/../test_helper’
require ‘user_helper’
class UserHelperTest < Test::Unit::TestCase
include UserHelper
def test_a_user_helper_method_here
end
end
[bị đánh cắp từ Matt Darby, người cũng đã viết trong chủ đề này.] Bạn có thể làm điều tương tự trong RSpec như:
require File.dirname(__FILE__) + '/../spec_helper'
describe FoosHelper do
it "should do something" do
helper.some_helper_method.should == @something
end
end
Bạn có thể làm giống như trong RSpec là:
require File.dirname(__FILE__) + '/../spec_helper'
describe FoosHelper do
it "should do something" do
helper.some_helper_method.should == @something
end
end
lần này như tôi ước tôi có thể phê duyệt hai câu trả lời. Bạn có nhớ sao chép và dán vào câu trả lời của tôi dưới đây vào câu trả lời của bạn và tôi sẽ làm cho nó câu trả lời cho câu hỏi này? – aronchick
Trợ giúp là gì? Tôi nhận 'biến cục bộ không xác định hoặc phương thức'. –
Tôi cũng nhận được 'biến cục bộ hoặc phương thức trợ giúp' không xác định, và sau đó tôi làm theo hướng dẫn tại https://relishapp.com/rspec/rspec-rails/v/3-6/docs/helper-specs/helper- spec để giải quyết. Trong trường hợp của tôi, tôi đã có 'config.infer_spec_type_from_file_location!' Nhưng quên 'require 'spec_helper''. Hy vọng rằng sẽ giúp! –
chủ đề này là loại cũ, nhưng tôi nghĩ rằng tôi muốn trả lời với những gì tôi sử dụng:
# encoding: UTF-8
require 'spec_helper'
describe AuthHelper do
include AuthHelper # has methods #login and #logout that modify the session
describe "#login & #logout" do
it "logs in & out a user" do
user = User.new :username => "AnnOnymous"
login user
expect(session[:user]).to eq(user)
logout
expect(session[:user]).to be_nil
end
end
end
Chỉ một cảnh báo cho những người sử dụng điều này bao gồm khái niệm
Tôi chỉ đăng này câu trả lời trên một chuỗi khác hỏi cùng một câu hỏi. Tôi đã làm như sau trong dự án của tôi.
require_relative '../../app/helpers/import_helper'
Tốt nhất để lấy được từ 'ActionView :: TestCase' nếu không bạn sẽ không có quyền truy cập vào' params' Hash –