2015-01-08 2 views
2

minitests에서 커스텀 어썰트를 사용하고 있습니다. 단위 테스트를하고 싶습니다. 물론 행복한 경로를 테스트 할 수는 있지만 실제로 테스트가 실패한다고 주장하고 싶습니다. 내 테스트에서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_raisesassert에 대한 호출을 포함, 당신이 예상 정확히 무엇을하지 않을 수있는, 그러나 그렇지 않으면 작동합니다.

+0

나는 가까웠다. 감사! – Rimian

+0

assert 실패에 대한 assert가 raise는 asserting이 될 것입니다. – Rimian

관련 문제