SORU
16 Temmuz 2011, CUMARTESİ


Nasıl MiniTest kurmak için?

Oldukça acemi bir test yapıyorum ama daha Raylar TDD olmaya çalışıyordu.

RSpec harika çalışıyor, ama benim testler çok yavaş. MiniTest çok daha hızlı olduğunu duydum, ve MiniTest/Spec DSL RSpec ile çalışmaya alışkınım ne kadar çok benziyor, bir deneyelim dedim.

Ancak, kur ve Minitest çalıştırmak için nasıl örneklerde sağlayan web üzerinde bir şey bulmak mümkün olmamıştır. RSpec kitaptan test yapmayı öğrendim, ve hiçbir fikrim yok nasıl Test::Unit veya MiniTest çalışmak gerekiyor. Benim gemfile içinde mücevher var, bir kaç basit testleri yazdım, ama onları nereye koyacağını ya da onları çalıştırmak için nasıl hiçbir fikrim yok. Bu kimse yazmak için rahatsız etmedi çok belli şeylerden biri olduğunu düşünüyorum...

Herkes bazı spec dosyaları/Minitest kur ve Rspec karşı performansını karşılaştırmak, böylece onları çalıştırmak için nasıl bana açıklayabilir mi?

EDİT

Özellikle bu benim en bilmeniz gereken temel bilgiler şunlardır:

  1. Nasıl oluşturmak yaparsanız bunu test_helper bir dosya (spec_helper gibi) ihtiyacınız var mı?
  2. Nasıl minitest çalıştırmak mı?rspec spec rspec path/to/file_spec.rb, bir eş yok, neyim eksik?

Teşekkürler!

CEVAP
6 Aralık 2011, Salı


Bu soru how to run all the tests with minitest? benzer

Ruby 1.9.3 ve Komisyon böyle bir dizin yerleşimi 0.9.2.2 kullanma:

Rakefile
lib/alpha.rb
spec/alpha_spec.rb

alpha_spec.rb gibi görünebilir:

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

Ve burada Rakefile

require 'rake'
require 'rake/testtask'

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

Çalıştırabilirsiniz

  • tüm testleri:rake test
  • bir test:ruby -Ilib spec/alpha_spec.rb

Eğer minitest spec_helper.rb kullanarak bir ortak olup olmadığını bilmiyorum. Yükleme için kullanışlı bir yöntem gibi görünmüyor. Bu Rakefile için bu ekleyin:

require 'rake'
require 'rake/testtask'

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

Sonra spec/spec_helper.rb çeşitli gereksiz şeyler içerebilir:

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

Ve spec/alpha_spec.rb yedek parçaları değiştirir:

require 'spec_helper'
  • tüm testleri:rake test
  • bir test:ruby -Ilib -Ispec spec/alpha_spec.rb

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • MrOctopi

    MrOctopi

    6 Aralık 2010
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011