2015-03-03 2 views
0

В настоящее время я выполняю упражнения Ruby для TestFirst.org. Это программа, которая учит Ruby, создавая код для прохождения тестов. Я упоминаю об этом, говоря, что я не писал этот код RSpec, но был бы рад узнать, как его исправить.RSpec не работает для учащегося

RSpec:

# Book Titles in English obey some strange capitalization rules. For example, 
# "and" is lowercase in "War and Peace". This test attempts to make sense of 
# some of those rules. 

require 'book' 

describe "Book" do 
    before do 
    @book = Book.new 
    end 

    describe 'title' do 
    it 'should capitalize the first letter' do 
     @book.title = "inferno" 
     @book.title.should == "Inferno" 
    end 

    it 'should capitalize every word' do 
     @book.title = "stuart little" 
     @book.title.should == "Stuart Little" 
    end 

    describe 'should capitalize every word except...' do 
     describe 'articles' do 
     specify 'the' do 
      @book.title = "alexander the great" 
      @book.title.should == "Alexander the Great" 
     end 

     specify 'a' do 
      @book.title = "to kill a mockingbird" 
      @book.title.should == "To Kill a Mockingbird" 
     end 

     specify 'an' do 
      @book.title = "to eat an apple a day" 
      @book.title.should == "To Eat an Apple a Day" 
     end 
     end 

     specify 'conjunctions' do 
     @book.title = "war and peace" 
     @book.title.should == "War and Peace" 
     end 

     specify 'prepositions' do 
     @book.title = "love in the time of cholera" 
     @book.title.should == "Love in the Time of Cholera" 
     end 
    end 

    describe 'should always capitalize...' do 
     specify 'I' do 
     @book.title = "what i wish i knew when i was 20" 
     @book.title.should == "What I Wish I Knew When I Was 20" 
     end 

     specify 'the first word' do 
     @book.title = "the man in the iron mask" 
     @book.title.should == "The Man in the Iron Mask" 
     end 
    end 
    end 
end 

Прежде чем он даже анализирует код, который я написал для того, чтобы проверить, он дает эту ошибку:

C:\Users\Computer\Documents\learn_ruby\08_book_titles>rake 
(in C:/Users/Computer/Documents/learn_ruby) 
You must use ANSICON 1.31 or later (http://adoxa.3eeweb.com/ansicon/) to use colour on Windows 

Book 
    title 
    should capitalize the first letter (FAILED - 1) 

Failures: 

    1) Book title should capitalize the first letter 
    Failure/Error: @book = Book.new 
    NameError: 
     uninitialized constant Book 
    # ./08_book_titles/book_titles_spec.rb:20:in `block (2 levels) in <top (required)>' 

Finished in 0 seconds 
1 example, 1 failure 

Failed examples: 

rspec ./08_book_titles/book_titles_spec.rb:24 # Book title should capitalize the first letter 
C:/RailsInstaller/Ruby2.1.0/bin/ruby.exe -S rspec C:/Users/Computer/Documents/learn_ruby/08_book_titles/book_titles_spec 
.rb -IC:/Users/Computer/Documents/learn_ruby/08_book_titles -IC:/Users/Computer/Documents/learn_ruby/08_book_titles/solu 
tion -f documentation -r ./rspec_config failed 

Я пытался прибегая к помощи сообщение об ошибке, но не удачи. Я только начинаю учиться, и у меня нет опыта для устранения этого кода RSpec. Любая помощь будет очень признательна для этого нуждающегося студента.

EDIT:

Я идиот и не понял, что его спрашивают меня. Тогда продолжай.

ответ

1

Вам нужно будет создать новый класс с именем Book.

Вы можете создать новый файл в том же каталоге с именем book.rb или добавить следующие строки в верхней части набора тестов.

class Book 
end 
+0

Спасибо, но только изменил ошибку следующим образом: 1) Название книги должно начинаться с заглавной буквы Failure/ошибка: @ book.title = "инферно" NoMethodError: неопределенный метод ' title = 'for # # ./08_book_titles/book_titles_spec.rb:28:in 'block (3 levels) in ' –

+0

@ChristopherByrd Он должен иметь атрибут title. ИМО, вы начинаете немного над головой; Вы знаете что-нибудь о Ruby? –

+0

Вам нужно будет начать определять методы, которые разрешают тесты. Вы заметите, что в index.html тестовой папки в нем упоминаются темы об объектах и ​​экземплярах. [некоторые ссылки] (http://www.tutorialspoint.com/ruby/ruby_classes.htm) –