Сообщение об ошибке в онлайн-курсе по Rails на URL Shortener - PullRequest
0 голосов
/ 16 декабря 2011

TryBloc имеет онлайн-курс, который преподает Rails среди других языков программирования.Есть курс по сокращению URL , и я немного озадачен тестом rspec, который проваливается на четвертом уроке (Хранение коротких кодов).

Это должно быть что-топросто, и каждый урок основывается на предыдущих.Мне кажется, что я пропускаю что-то маленькое, но не могу этого заметить.Ошибка от rspec тоже не помогает.Как я могу это исправить и пройти этот четвертый урок?Правильно ли я читаю инструкцию?

Инструкция:

В вашем первом задании мы попросили вас вернуть только случайную строку из 5 цифр.

CHALLENGEУстановите код, который вы генерируете как ключ в Redis, чтобы мы запомнили тот же ключ для домена.

В приведенном примере:

REDIS.set("12345", "google.com")
REDIS.get("12345") # google.com
REDIS.exists("12345") # true, the key exists

Код, который можно изменить:

require 'sinatra'

configure do
  require 'redis'
  require 'uri'
  REDISTOGO_URL = ENV["REDISTOGO_URL"]
  uri = URI.parse(REDISTOGO_URL)
  REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
end

get "/" do
  "Try going to /shorten?url=http://www.google.com"
end

# yourapp.com/?url=http://google.com
get "/shorten" do
  # Write your code below to create a random number.
  random_number = (1..9).to_a.shuffle.sample(5).join("")

  REDIS.set(random_number, params[:url])
end

# Please leave this extra space at the bottom

Ошибка:

F ..

Сбои:

1) URL Shortener возвращает короткий код

Failure/Error: last_response.body.should =~ /(\d){5}/

  expected: /(\d){5}/

       got: "http://google.com" (using =~)

  Diff:

  @@ -1,2 +1,2 @@

  -/(\d){5}/

  +http://google.com

# ./spec:42:in `block (2 levels) in <top (required)>'

Завершено за 0,4169 секунд

3 примера, 1 сбой

Неудачные примеры:

rspec ./spec:40 # URL Shortener возвращает короткий код

1 Ответ

1 голос
/ 17 декабря 2011

Похоже, что RSpec ожидает, что "/shorten" вернет 5-значный код, который не повторяется между запросами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...