Add assert_raises example
authorMike Jackson <michaelj@epcc.ed.ac.uk>
Wed, 3 Apr 2013 09:45:30 +0000 (02:45 -0700)
committerW. Trevor King <wking@tremily.us>
Fri, 1 Nov 2013 04:22:34 +0000 (21:22 -0700)
testing/Writing.md

index e826ce483d8f1549ab5ee15ec33f5dd6c3e2917e..c62098e30fafe9a3ec26c1c2c871057e61a60545 100755 (executable)
@@ -174,7 +174,14 @@ The latter requires us to check whether an exception was raised which we can do
     except ValueError:
         assert True
 
-This is like catching a runtime error. If an exception is raised then our test passes (`assert True`), else if no exception is raised, it fails.
+This is like catching a runtime error. If an exception is raised then our test passes (`assert True`), else if no exception is raised, it fails. Alternatively, we can use `assert_raises` from `nose`,
+
+    from nose.tools import assert_raises
+
+    def test_123():
+        assert_raises(ValueError, calculate_weight, 123)
+
+The assert fails if the named exception is *not* raised.
 
 One other test we could do is `calculate_weight('GATCX')` for which we can add another runtime test,