rspec строка "это" - PullRequest
       22

rspec строка "это"

7 голосов
/ 15 апреля 2010

Возможно ли для метода rspec получить значение параметра, переданного ему () в локальном методе?Например, если я хочу:

describe Me do
  it "should figure this out"
    puts "I " + SPEC_NAME
  end
end

напечатать это:

I should figure this out

... что бы я добавил для SPEC_NAME в примере кода?

Еще лучше, как сравнительно новый руболог, такой как я, мог бы сам в этом разобраться?

Ответы [ 3 ]

7 голосов
/ 15 апреля 2010

Метод description должен делать то, что вы хотите. например,

describe Me do
  it "should figure this out" do
    puts "I " + description # or "I #{description}" using string interpolation
  end
end

С точки зрения того, как это выяснить, я нашел это, посмотрев в RDocs для RSpec , начиная с просмотра источника it , чтобы увидеть, как он работает , Затем вы обнаружите, что RSpec ссылается на строку «it» как «описание», поэтому вы можете искать доступные методы, которые включают описание в свое имя.

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

1 голос
/ 14 июля 2013

В более поздних версиях RSpec (я использую 2.14) вы можете ссылаться на него как example.description.

it "prints itself" do
  puts "My description string is '#{example.description}'."
end
0 голосов
/ 15 апреля 2010

Это не дает точного ответа на ваш вопрос, но если вы пытаетесь распечатать каждый тест во время его выполнения, поместите его в файл spec.opts:
--format specdoc

Вот пример того, как выглядят мои тесты, когда я их запускаю:

A new release when parsing the artist containing a full join word
- should remove it
- should not remove it when it is inter-word

A new release when parsing the artist containing an abbreviated joining word
- should remove it when there is a period after it
- should remove it when when there is not a period after it
- should not remove it when it is inter-word with a period after it
- should not remove it when it is inter-word without a period after it

A new release when parsing the artist
- should be invalid if the year is not current
- should be valid if it is the current year
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...