165

我已经test-unit安装并安装rspec(连同-core-expectations和2.6.x 版)。当我运行该命令时,它用于生成测试存根文件而不是.-mocks-railsrails new footest-unitrspec

有没有一个选项可以让我告诉 rails 使用 rspec 来生成测试?

4

5 回答 5

277

以下应该有效:

在命令行:

rails new MYAPP -T # The -T option tells rails not to include Test::Unit

在 Gemfile 中:

gem 'rspec-rails'

在命令行:

bundle install
rails g rspec:install
于 2011-07-18T05:08:57.930 回答
74

创建新的 Rails 应用程序:

rails new <app_name> -T

或者test从现有应用程序中删除您的目录:

rm -rf test/

在您的 Gemfile 中创建一个条目:

gem 'rspec-rails'

从命令行安装 gem

$ bundle install

从命令行将 rspec 安装到您的应用程序中:

$ rails g rspec:install

现在您的 rails 应用程序使用 RSpec 而不是 test-unit。

于 2011-07-18T06:17:06.727 回答
7

使用以下命令创建 Rails 应用程序后:

rails new <app_name> -T  # to exclude Test::Unit

通过以下方式将 RSpec gem 添加到您的 Gemfile 中:

group :development, :test do
  gem "rspec-rails"
end

在命令行中写:

bundle install  # this will install the missing gems

现在你需要通过运行来安装 RSpec:

rails generate rspec:install

这将生成以下文件:

create  .rspec
create  spec
create  spec/spec_helper.rb
create  spec/rails_helper.rb

我强烈建议通读所有 spec_helper 和 rails_helper 注释,以更好地理解每个选项的作用。

一切都设置好后,您可以使用以下命令运行所有测试:

bundle exec rspec

您可以在https://kolosek.com/rails-rspec-setup上阅读有关推荐的 spec_helper 和 rails_helper 配置的更多信息。

于 2018-02-21T11:24:27.727 回答
4

我是一名新开发人员,我刚刚制作了一个 Rails 标志 (-rspec) 来解决 OP 的问题。它摆脱了 Test::Unit 并使用 bash 脚本插入 rails-rspec gem。可以修改该脚本以通过自动添加 ruby​​racer gem 或创建自定义标志和 gemset 来帮助 linux 开发人员。(也许专门去那个 gem 行并删除评论)

这是要点&&我希望这对那里的人有所帮助。 https://gist.github.com/MTen/8310116

于 2014-01-08T03:10:08.183 回答
0

没有使用railsCLI 执行此操作的本地方法。生成一个没有的新项目test-unit

rails new rails-app --skip-test

然后按照rspec说明将其集成到新的 Rails 应用程序中。

于 2020-04-12T12:47:45.110 回答