Trong Dashboard#Index
của tôi, tôi có điều này:Làm cách nào để kiểm tra biến cục bộ bên trong bộ điều khiển với Rspec?
def index
tagged_nodes = Node.includes(:user_tags).tagged_with(current_user.email)
end
Làm thế nào để kiểm tra điều này với RSpec?
tôi đã cố gắng:
expect(assigns(tagged_nodes)).to match Node.includes(:user_tags).tagged_with(u1.email)
Nhưng điều đó mang lại cho tôi lỗi này:
NameError:
undefined local variable or method `tagged_nodes' for #<RSpec::ExampleGroups::DashboardController::GETIndex:0x007fe4edd7f058>
Yeh .... Tôi biết cách kiểm tra biến mẫu. Vì vậy, tôi không nên có biến địa phương trong bộ điều khiển của tôi? – marcamillion
Bạn có thể có các biến cục bộ, nhưng bạn không cần kiểm tra chúng. Bạn nên kiểm tra hành vi bên ngoài của bộ điều khiển: đưa ra một yêu cầu nhất định, đáp ứng nào cho nó (hoặc dữ liệu nào nó chuyển tới khung nhìn). Biến cục bộ là trạng thái riêng và nói chung bạn không kiểm tra trạng thái riêng tư. –
Ahh ok. Điều đó có ý nghĩa. – marcamillion