Как запустить метод в тесте - PullRequest
1 голос
/ 10 апреля 2019

Я просто хочу запустить метод в своем тесте и посмотреть, работает ли он.

Я попробовал следующую строку кода в моем классе тестирования:

UserPostcodesImport.add_postcodes_from_csv

Мой user_postcodes_import_test.rb:

require "test_helper"
require "user_postcodes_import"

class UserPostcodesImportTest < ActiveSupport::TestCase
  it "works" do
    UserPostcodesImport.add_postcodes_from_csv
  end
end

Мой user_postcodes_import:

class UserPostcodesImport
  class << self
    def add_postcodes_from_csv
      puts "it works"
    end
  end
end

Я ожидаю, что консоль напечатает "все работает", но выводит ошибку:

NoMethodError: undefined method `add_postcodes_from_csv'

1 Ответ

0 голосов
/ 10 апреля 2019

Так что тестирование на самом деле не работает так.В этом случае вам нужно взглянуть на тестовые вызовы и сделать что-то вроде этого

test "the truth" do
  assert true
end

, чтобы вы могли получить

class UserPostcodesImportTest < ActiveSupport::TestCase
  it "works" do
    test_string = UserPostcodesImport.add_postcodes_from_csv
    assert !test_string.blank?
  end
end

Если вы используете rspec,это может выглядеть так:

class UserPostcodesImportTest < ActiveSupport::TestCase

  {subject = UserPostcodesImport}
  it "works" do
    expect (subject.add_postcodes_from_csv).to_not be_nil
  end
end

что-то в этом роде ... проверьте синтаксис rspecs здесь: https://relishapp.com/rspec/rspec-expectations/docs/built-in-matchers

Важнейшей частью этого является assert, что в основномзапускает тест для запуска.Вы спрашиваете: «Когда я сделаю ЭТО, оно вернет истину?»

Я бы начал с поиска здесь: https://guides.rubyonrails.org/testing.html, чтобы получить лучшее представление о тестировании лучших практик.

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