gpt4 book ai didi

ruby-on-rails - Minitest 集成测试 : session not tearing down?

转载 作者:行者123 更新时间:2023-12-04 05:53:53 25 4
gpt4 key购买 nike

我最近将一个非常简单的 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 之后,似乎每次测试后 session 都停止了。例如,我将在名为“users_integration_test.rb”的测试文件中使用上述代码测试登录,当它开始运行另一个测试文件时,例如“sessions_integration_test.rb”,用户已经登录,然后我可以再次使用上面的代码。

我的问题是:这是 rspec 和 minitest 之间的故意区别吗,我只需要在每次测试后注销用户?或者我在设置 minitest 时犯了一个错误?

我正在使用与 Minitest Railscast 中相同的 minitest_helper 文件。

最佳答案

我不知道有什么区别,但下面的代码可能有效。

ENV["RAILS_ENV"] = "test"
require File.expand_path("../../config/environment", __FILE__)
require "minitest/autorun"
require "capybara/rails"
require "active_support/testing/setup_and_teardown"

class IntegrationTest < MiniTest::Spec
include Rails.application.routes.url_helpers
include Capybara::DSL
after do
reset_session!
end
register_spec_type(/integration$/, self)
end

class HelperTest < MiniTest::Spec
include ActiveSupport::Testing::SetupAndTeardown
include ActionView::TestCase::Behavior
register_spec_type(/Helper$/, self)
end

关于ruby-on-rails - Minitest 集成测试 : session not tearing down?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com