unittestで使えるメソッド

例外発生を確認するメソッドが用意されていた。`assertRaises`。
テストで利用できるメソッドを把握しておいた方が良さそう。もう少し丁寧にドキュメントを見ることにした。

少しドキュメントを読んでみるとpython 2.7でdeprecatedになったaliasがある。メモ。
http://docs.python.org/library/unittest.html#deprecated-aliases

25.3.7.1.1. Deprecated aliases¶

For historical reasons, some of the TestCase methods had one or more aliases that are now deprecated. The following table lists the correct names along with their deprecated aliases:

Method Name Deprecated alias(es)
assertEqual() failUnlessEqual, assertEquals
assertNotEqual() failIfEqual
assertTrue() failUnless, assert_
assertFalse() failIf
assertRaises() failUnlessRaises
assertAlmostEqual() failUnlessAlmostEqual
assertNotAlmostEqual() failIfAlmostEqual

Deprecated since version 2.7: the aliases listed in the second column

基本assertから始まるメソッドを抑えておけば良さそう。

覚えておきたいメソッドを確認しておけば良かった。

import unittest, re, pprint
assert_methods = [m for m in unittest.TestCase.__dict__.keys() if re.search(r"^assert", m)]
pprint.pprint(assert_methods)

# ['assertNotEquals',
#  'assertNotAlmostEquals',
#  'assertEqual',
#  'assertNotAlmostEqual',
#  'assertTrue',
#  'assertRaises',
#  'assertFalse',
#  'assertEquals',
#  'assert_',
#  'assertAlmostEqual',
#  'assertNotEqual',
#  'assertAlmostEquals']

追記 unittestライブラリについて

python 2.7で大幅に機能が拡張される。(テストランナーの機能も追加)
2.7のunittestのbackportはunittest2パッケージ

pip install unittest2