Warum würden rails nicht zurücksetzen die test-Datenbank zwischen den Läufen

Gibt es Kommentare in den Schienen codebase, die angeben, dass die test-Datenbank zurückgesetzt werden sollen zwischen den Läufen

rake -T

rake test:all                           # Run tests quickly by merging all types and not resetting db
rake test:all:db                        # Run tests quickly, but also reset db

config/database.yml

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:

Diese doesn"t scheint der Fall zu sein für mich.

Ich bin mit factory girl generieren von test-Modelle, hier ist ein Beispiel Fabrik

FactoryGirl.define do
  factory :podcast do
    sequence(:title)     { |n| "Podcast #{n}" }
    sequence(:feed_url)  { |n| "http://podcast.com/#{n}" }
  end
end

Den podcast sollte ein einzigartiges feed_url, so dass ich bestätigen es die Einzigartigkeit des Modells.

class Podcast < ActiveRecord::Base
  validates :feed_url, uniqueness: true, presence: true
end

In test_helper.rb ich die Fussel alle Fabriken

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

FactoryGirl.lint

Mein test erstellt einen podcast baut ein anderes mit dem gleichen Namen, der dann behauptet, dass der zweite
ist ungültig.

require 'test_helper'

describe Podcast do
  describe '#feed_url' do
    it 'must be unique' do
      podcast = create(:podcast)
      new_podcast = build(:podcast, feed_url: podcast.name)

      assert_invalid podcast, :feed_url, 'has already been taken'
    end
  end
end

Als ich das erste mal laufen die tests ausgeführt, ohne Fehler, und die tests alle erfolgreich waren.
Das zweite mal, dass ich die tests ausführen des Factory Girl lint versagt, weil die podcast-feed_url bereits aufgenommen wurde.

Warum nicht die test-Datenbank wird aufgebaut zwischen den Läufen?

InformationsquelleAutor everett1992 | 2014-06-12
Schreibe einen Kommentar