UserPreferences

PyUnit


Pythonのunittestフレームワーク

クラスFooをテストするテンプレート。testなんとか、をどんどん書く。emacsのquery-replace でクラス名を置換すれば大小文字を保存してくれるので楽。

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
import unittest
import Foo

class FooTestCase(unittest.TestCase):
    def setUp(self):
        self.foo = Foo()
        pass
    def testBar(self):
        self.assertEqual(self.foo.bar(), 0)

def suite():
    suite = unittest.makeSuite(FooTestCase)
    return suite

if __name__ == "__main__":
    unittest.main()

全部まとめて実行するスクリプト。importとsuiteを列挙するだけ。

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
import unittest

import FooTest
import BarTest

def suite():
    alltest = unittest.TestSuite((
        FooTest.suite(),
        BarTest.suite(),
        ))
    return alltest

if __name__ == "__main__":
    runner = unittest.TextTestRunner()
    runner.run(suite())

外部