0

ゾンビのレッスンのために rspec レールを使用していますが、テストの実行に問題があり、App/models フォルダー内の Ruby コードを読み取っていません。ゾンビ.rbと呼ぶルビーファイルをspecフォルダー自体とrequire_relativeに入れようとしましたが、それでもテストは失敗しています。誰か助けてください。私は初心者ですが、TDD はコーディングを上手に学習するための最良かつ最速の方法であることがわかりました。私のコードは以下のとおりです。

require_relative 'spec_helper'
require_relative 'zombie'

describe Zombie do

  it 'is invalid without a name' do

    zombie = Zombie.new
    zombie.should_not be_valid

    end

   it 'include tweets' do

     tweet1 = Tweet.new(status: 'Uuuuunhhhhh')
     tweet2 = Tweet.new(status: 'Arrrrggggg')
     zombie = Zombie.new(name: 'Ash', tweets: [tweet1, tweet2])
     zombie.tweets.should include(tweet1)
     zombie.tweets.should include(tweet2)

     end

 end

そしてここのzombie.rbファイル

class Zombie < ActiveRecord::Base
attr_accessor :Tweet
validates :name, presence: true
end

これは私が得ているテスト結果です

1) Zombie is invalid without a name
     Failure/Error: zombie = Zombie.new
     ActiveRecord::StatementInvalid:
       Could not find table 'zombies'
     # ./zombie_spec.rb:8:in `block (2 levels) in <top (required)>


2) Zombie include tweets
     Failure/Error: tweet1 = Tweet.new(status: 'Uuuuunhhhhh')
     NameError:
       uninitialized constant Tweet
     # ./zombie_spec.rb:15:in `block (2 levels) in <top (required)>'
4

1 に答える 1

0

からエラーが発生し、データベース内のテーブルが見つからないという事実について不平を言っているZombieため、モデルを見つけているように見えます。これは、データベースの移行をまだ行っていない (または問題があった) ことを示唆しています。それと)。ActiveRecordzombies

2 番目のエラーは、 を定義するファイルが必要ないことを示していますTweet

于 2013-07-10T16:45:58.440 に答える