Неопределенный метод Ruby для 'assert' для: class - PullRequest
1 голос
/ 17 июня 2011

Я пытаюсь использовать API Test :: Unit :: TestCase в ruby ​​для выполнения некоторых модульных тестов, но столкнулся с проблемой использования assert.Я только пытаюсь вызвать определенные методы в классе, который использует класс Test :: Unit :: TestCase , но он продолжает отказывать при утверждении.В моем файле рейка у меня есть:

require 'test_file'

task :manage do 
     my_app = Test::Unit::TestCase::Unit_Test
     my_app.test1
end

И в моем test_file.rb у меня есть:

require 'rubygems'
require 'test/unit'
require 'rack/test'

class Unit_Test < Test::Unit::TestCase
  include Rack::Test::Methods
    # manage tests
    def self.test1
      browser = Rack::Test::Session.new(Rack::MockSession.new(Sinatra::Application))
      browser.get '/homepage'
      assert browser.last_response.ok?
    end
end

Все работает, пока я не доберусь до утверждения "assert", которое говорит: Неопределенный метод assert для Unit_Test: Class .Если я не сделаю метод статическим, он запустит ВСЕ методы в классе Unit_Test.Я хочу запускать только определенные юнит-тесты из моего файла rake.

Чего мне не хватает?

1 Ответ

1 голос
/ 17 июня 2011

Я не могу придумать хороший способ использовать assert из метода класса, потому что assert является методом экземпляра.

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

ruby test_file.rb --name test1

Вы должны быть в состоянии вызвать это из вашей задачи по рейку.

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