что делает ключевое слово" it " в RSpec?

Я следую rails3tutorial, и я не понимаю значения ключевого слова "it" при выполнении некоторого тестирования следующим образом:

require 'spec_helper'

describe UsersController do
  render_views

  describe "GET 'new'" do
    it "should be successful" do
      get 'new'
      response.should be_success
    end

    it "should have the right title" do
      get 'new'
      response.should have_selector("title", :content => "Sign up")
    end
  end
end

фрагмент кода происходит от:http://ruby.railstutorial.org/chapters/filling-in-the-layout#top листинг 5.26

7 ответов


это не ключевое слово Ruby, это часть рамки для RSpec.

it содержит примеры кода, иллюстрирующие аспект поведения, определенный. Он состоит из двух основных частей: строки описания и пример кода в блоке do/end.


что я думаю, что другие ответы могут сделать более явными, и что может быть тем, что изначально смутило вас, это it нарушает большинство обычных соглашений для именования методов (ничего о методе не описывает, что он делает, например), чтобы сделать код в целом читаемым как своего рода предложение.

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


Это не ключевое слово. Это просто метод, предоставляемый RSpec используется для описания образцов спецификаций. См.docs для дальнейшего объяснения.


В общем смысле модульного тестирования,мы используем describe для описания поведения класса:

describe Hash do

end

тесты написаны с использованием it-блока. Вот пример того, как вы можете написать спецификацию для класса Hash:

describe Hash do
  it "should return a blank instance" do
    Hash.new.should == {}
  end
end

Для больше помочь

http://blog.teamtreehouse.com/an-introduction-to-rspec


Это ключевое слово Rspec . RSpec использует слова "описать" и" это", чтобы мы могли выразить такие понятия, как разговор:

" опишите счет при его первом открытии." - У него нулевой баланс." Метод describe создает группу примеров. Внутри блока передается описание можно объявить вложенные группы с помощью описания или контекста методы, или вы можете объявить примеры с помощью it или указать методы.

под капотом группа примеров-это класс, в котором квартал перешел в описание или контекст оценивается. Блоки переданных ему оценку в контексте экземпляра этого класса.


Это не ключевое слово. Передаваемые ему блоки оцениваются в контексте экземпляра этого класса.


как говорили другие,it не является ключевым словом.

это, как говорится, много слов, которые кажутся ключевыми словами, не являются ключевыми словами. Например, puts выглядит как ключевое слово, но это просто метод в Kernel модуль.