# How to test exception?

**URL:** <https://www.ruby-forum.com/t/how-to-test-exception/136877>\
**Category:** Rails\
**Created:** [May 7, 2008, 3:52am UTC](https://www.ruby-forum.com/t/how-to-test-exception/136877 "2008-05-07T03:52:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChandleWEi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/6f9a4e/32.png) [@ChandleWEi](https://www.ruby-forum.com/u/ChandleWEi)\
**Post date:** [May 7, 2008, 3:52am UTC](https://www.ruby-forum.com/t/how-to-test-exception/136877/1 "2008-05-07T03:52:50Z")

</div>

def rescue\_action\_in\_public(exception)  
case exception  
when LoginException  
headers[“Status”] = “401 Unauthorized”  
goto\_login  
…

so I

def login!  
…  
raise LoginException  
end

but I don’t know how to test it under functionals test

when ran rake test:functionals always show me exception so can’t to test  
step 2 goto\_login

---

<div class="post-metadata">

**Author:** ![ChandleWEi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/6f9a4e/32.png) [@ChandleWEi](https://www.ruby-forum.com/u/ChandleWEi)\
**Post date:** [May 7, 2008, 4:17am UTC](https://www.ruby-forum.com/t/how-to-test-exception/136877/2 "2008-05-07T04:17:23Z")

</div>

You can use ruby’s assert\_raise method

assert\_raise LoginException do

# whatever

end

More info can be found here  
[http://www.ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit/Assertions.html](http://www.ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit/Assertions.html)

–  
Thiago J.  
[http://www.railsfreaks.com](http://www.railsfreaks.com)

---

<div class="post-metadata">

**Author:** ![ChandleWEi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/6f9a4e/32.png) [@ChandleWEi](https://www.ruby-forum.com/u/ChandleWEi)\
**Post date:** [May 8, 2008, 6:52am UTC](https://www.ruby-forum.com/t/how-to-test-exception/136877/3 "2008-05-08T06:52:40Z")

</div>

thx It’s very useful for me  
åœ¨ 2008-05-06äºŒçš„ 19:16 -0700ï¼ŒThiago J.å†™é“ï¼š
