gpt4 book ai didi

ruby-on-rails - 如何设置MiniTest?

转载 作者:行者123 更新时间:2023-12-03 06:14:32 24 4
gpt4 key购买 nike

我是一个相当新手的测试人员,但一直在努力提高 Rails 中的 TDD。

RSpec 效果很好,但我的测试速度相当慢。我听说 MiniTest 速度要快得多,而且 MiniTest/Spec DSL 看起来与我习惯使用 RSpec 的方式非常相似,所以我想尝试一下。

但是,我在网络上找不到任何提供如何设置和运行 Minitest 的演练的内容。我从 RSpec 书中学习了如何测试,但我不知道 Test::Unit 或 MiniTest 应该如何工作。我的 gem 文件中有 gem,我编写了一些简单的测试,但我不知道将它们放在哪里或如何运行它们。我认为这是显而易见的事情之一,没有人费心把它写下来......

任何人都可以向我解释如何设置一些 Minitest/spec 文件并让它们运行,以便我可以将性能与 Rspec 进行比较吗?

编辑

具体来说,这些是我最需要了解的基础知识:

  1. 您是否需要 test_helper 文件(如 spec_helper),如果需要,如何创建它?
  2. 如何运行 minitest? 似乎没有与 rspec specrspec path/to/file_spec.rb 等效的东西>,我错过了什么?

谢谢!

最佳答案

这个问题类似于How to run all tests with minitest?

使用 Ruby 1.9.3 和 Rake 0.9.2.2,给定如下目录布局:

Rakefile
lib/alpha.rb
spec/alpha_spec.rb

这是 alpha_spec.rb 可能的样子:

require 'minitest/spec'
require 'minitest/autorun' # arranges for minitest to run (in an exit handler, so it runs last)

require 'alpha'

describe 'Alpha' do
it 'greets you by name' do
Alpha.new.greet('Alice').must_equal('hello, Alice')
end
end

这是Rakefile

require 'rake'
require 'rake/testtask'

Rake::TestTask.new do |t|
t.pattern = 'spec/**/*_spec.rb'
end

你可以运行

  • 所有测试: rake 测试
  • 一个测试: ruby -Ilib spec/alpha_spec.rb
<小时/>

我不知道在 minitest 中使用 spec_helper.rb 是否常见。似乎没有一种方便的方法来加载它。将其添加到 Rakefile 中:

require 'rake'
require 'rake/testtask'

Rake::TestTask.new do |t|
t.pattern = 'spec/**/*_spec.rb'
t.libs.push 'spec'
end

然后spec/spec_helper.rb可以包含各种冗余的东西:

require 'minitest/spec'
require 'minitest/autorun'
require 'alpha'

并且spec/alpha_spec.rb将冗余部分替换为:

require 'spec_helper'
  • 所有测试: rake 测试
  • 一个测试: ruby -Ilib -Ispec spec/alpha_spec.rb

关于ruby-on-rails - 如何设置MiniTest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6715158/

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