gpt4 book ai didi

ruby-on-rails - 为什么 Ruby 只运行一些测试而不运行其他测试?

转载 作者:太空宇宙 更新时间:2023-11-03 17:16:53 24 4
gpt4 key购买 nike

我正在使用这个命令来运行一些测试...

bundle exec ruby -Itest test/functional/*.rb

在我的 test/functional 目录中,我有两个文件...

file_sets_controller_test.rb
user_sessions_controller_test.rb

使用上述命令,file_sets_controller_test.rb 中的测试全部运行,但 user_sessions_controller_test.rb 中的测试根本不运行——没有错误或其他输出被报道。

但是,我可以直接运行那个文件没问题,用这个...

bundle exec ruby -Itest test/functional/user_sessions_controller_test.rb

这很好。

我知道另一种选择是使用 rake test functionals,但与直接运行它们相比,这非常慢。


ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]

Rails 3.2.12

这是我的 Gemfile 的一部分...

group :development, :test do

gem 'ansi'
gem 'turn'

gem 'minitest'
gem 'minitest-matchers'

end

这是我的test_helper.rb...

ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'

require 'turn/autorun'
Turn.config.ansi = true

require 'minitest/autorun'

class ActiveSupport::TestCase

fixtures :all

end

据我所知,移除 Turn 和 Minitest gem 不会改变任何东西。

最佳答案

ruby 命令将要运行的 ruby​​ 文件作为其第一个参数,并使其他参数可用于 ruby​​ 程序。 shell 将您的 glob 表达式扩展为 2 个参数并将它们传递给 ruby,因此 ruby 正在运行扩展中的第一个文件名。

附加:

我想你可以做你想做的事情,比如...

bundle exec ruby -Itest -e "Dir.glob('test/functional/*_test.rb').each{|f| require File.expand_path(f)}"

关于ruby-on-rails - 为什么 Ruby 只运行一些测试而不运行其他测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15036184/

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