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() failIfAlmostEqualDeprecated 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