NameError: не определено в RSpec при попытке проверить вывод, который вызывает переменную, расположенную в методе - PullRequest
0 голосов
/ 17 ноября 2018

https://gist.github.com/7wQvRTU2/3c95e82943d2640986fe6bf53a73cb01

Под:

describe('#anagram_check')

Я пытаюсь проверить:

 it("returns similar letters if not an anagram") do
    testing = AnagramCheck.new("quick", "quack'")
    expect(testing.anagram_check()).to(eq("Not an Anagram or an Antigram but "
    + (@word1 - antigram).join(',') + " " + "are alike")) 
    end     

Но получаю:

NameError:
   undefined local variable or method `antigram' for 
   #<RSpec::ExampleGroups::AnagramCheck:0x007f97f11980d0>
   # ./spec/anagram_test_spec.rb:20:in `block (2 levels) in <top (required)>' 

Из того, что я прочитал, это как-то связано с областью?

Может быть, что-то, связанное с let?

Как правильно отформатировать это в RSpec, чтобы я мог проверить вывод метода, который возвращает переменную из метода?

1 Ответ

0 голосов
/ 17 ноября 2018

Если вы хотите, чтобы он был доступен по всей спецификации, просто добавьте его в начало файла.

RSpec.describe Whatever do
  context 'something' do
    describe 'some function' do
      context 'with new record' do
        let(:mode) { create(:mode) }

        ...

        it 'returns similar letters if not an anagram' do
          ...

Тогда вам не нужно продолжать объявлять это. Если это то, что вы после.

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