В настоящее время я выполняю упражнения 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) Название книги должно начинаться с заглавной буквы Failure/ошибка: @ book.title = "инферно" NoMethodError: неопределенный метод ' title = 'for # # ./08_book_titles/book_titles_spec.rb:28:in 'block (3 levels) in ' –
@ChristopherByrd Он должен иметь атрибут title. ИМО, вы начинаете немного над головой; Вы знаете что-нибудь о Ruby? –
Вам нужно будет начать определять методы, которые разрешают тесты. Вы заметите, что в index.html тестовой папки в нем упоминаются темы об объектах и экземплярах. [некоторые ссылки] (http://www.tutorialspoint.com/ruby/ruby_classes.htm) –