【发布时间】:2012-03-18 01:04:40
【问题描述】:
我最近将一个非常简单的 Rails 应用程序从 rspec 切换到了 minitest。我也用 capybara 和 factory_girl。
我有 3 个单独的集成测试文件,所有这些文件都涉及记录用户使用以下内容:
before(:each) do
user = Factory(:user)
visit login_path
fill_in "Email", :with => user.email
fill_in "Password", :with => user.password
click_button "Log in"
end
在我切换到 minitest 之后,似乎每次测试后会话都停止了。例如,我会在名为“users_integration_test.rb”的测试文件中使用上面的代码测试登录,当它开始运行另一个测试文件时,比如“sessions_integration_test.rb”,用户已经登录,然后我可以使用再次登录上面的代码。
我的问题是:这是 rspec 和 minitest 之间的故意区别,我只需要在每次测试后注销用户?还是我在设置 minitest 时犯了错误?
我正在使用与 Minitest Railscast 中相同的 minitest_helper 文件。
【问题讨论】:
-
真的,您尝试注销了吗?我认为它会工作
-
是的,我确实尝试了 after(:each) 注销。那时它工作得很好,但我的问题是,我想知道我是否在错误地设置 Minitest 时犯了错误,因为我认为拆除会话对于测试框架来说是自动的。在我的测试中必须手动拆除所有内容会很痛苦!
标签: ruby-on-rails ruby-on-rails-3 integration-testing capybara minitest