2015-01-08 3 views
2

Я использую пользовательские утверждения в своих мини-записях, и я хочу, чтобы подразделение проверяло мои утверждения. Конечно, я могу проверить счастливый путь, но я хочу утверждать, что тест на самом деле терпит неудачу.minitest assert пользовательское утверждение не работает

module Minitest 
    module Assertions 
    def assert_exists(value, msg = nil) 
     assert(!value.to_s.empty?, msg) 
    end 
    end 
end 

В моем тесте я хочу написать что-то вроде

describe 'Assertions' do 
    it 'is empty' do 
    assert_raises assert_exists('') 
    end 
end 

Есть ли способ сделать это?

ответ

4

Что-то вроде этого? (Вы должны указать исключения вы ожидаете, и передать вызов в качестве блока):

describe 'Assertions' do 
    it 'is empty' do 
    assert_raises(Minitest::Assertion) do 
     assert_exists('') 
    end 
    end 
end 

Это будет включать призыв к assert в вашем assert_raises в резюме, которое не может быть именно то, что вы ожидаете, но в противном случае работает.

+0

Я был рядом. Благодаря! – Rimian

+0

Таким образом, утверждая, что утверждение, утверждающее, что для неудачи утверждения, будет далеко, я думаю :) – Rimian

Смежные вопросы