Значение, назначенное в одном примере, не переносится в другой пример - PullRequest
0 голосов
/ 31 мая 2018

В дальнейшем я сохранил значение для @variable в example 1.Но оно пусто в example 2.

class GeographicLocationTest < Minitest::Test
  describe "geographic location" do
    it "example 1" do
      @variable = "Sample variable"
    end
    it "example 2" do
      puts "string"
      puts @variable
    end
  end
end

Кто-нибудь подскажет, где я ошибся.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

переменные экземпляра не разделяются между it примерами.Для этого можно использовать блок before:

class GeographicLocationTest < Minitest::Test
  describe "geographic location" do
    before(:each) do
      @variable = "Sample variable"
    end

    it "example 1" do
      expect(@variable).to eq "Sample variable"
    end

    it "example 2" do
      expect(@variable).to eq "Sample variable"
    end
  end
end

Инициализировать в перед методом.Это будет применяться к каждому it в describe здесь.

Если вы хотите установить другое значение для переменной экземпляра в каждом тесте, вам нужно переназначить его там.

0 голосов
/ 31 мая 2018

Использование before крючок:

class GeographicLocationTest < Minitest::Test
  describe "geographic location" do
    before do
      @variable = "Sample variable"
    end
    it "example 1" do
      # no need of the following line now
      @variable = "Sample variable"
    end
    it "example 2" do
      puts "string"
      puts @variable
    end
  end
end

Подробнее об этом в документации .

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