<p>How does one write a unittest that fails only if a function doesn't throw an expected exception?</p>

Use
```
TestCase.assertRaises
```
(or
```
TestCase.failUnlessRaises
```
) from the unittest module, for example:
```
```
import mymod

class MyTestCase(unittest.TestCase):
    def test1(self):
        self.assertRaises(SomeCoolException, mymod.myfunc)
```
```