PythonのUnitTest

Pythonのunittestモジュールを使用してUnitTestを行うメモ。

・被テストモジュール(util.py)

def fizzbuzz(number):
    if number == ():
        raise TypeError('数字を入れてください')
    if((number % 3 == 0) and (number % 5 == 0)):
        return 'Fizz Buzz'
    elif(number % 3 == 0):
        return 'Fizz'
    elif(number % 5 == 0):
        return 'Buzz'
    else:
        return number

・テスト実行モジュール(mytest.py)

from util import fizzbuzz
import unittest
class MyTests(unittest.TestCase):
    def test_fizzzbuzz(self):
        #正しいメソッド引数と戻り値を記述
        self.assertEquals(fizzbuzz(15), 'Fizz Buzz')
        self.assertEquals(fizzbuzz(6), 'Fizz')
        self.assertEquals(fizzbuzz(10), 'Buzz')
        self.assertEquals(fizzbuzz(7), 7)
        self.assertRaises(TypeError, fizzbuzz)

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

・実行結果(成功)
f:id:yuizho:20130325233815p:plain

基本的にはJUnitと同じ感じなのかな。
テストはどんどん書くようにしたい。JUntは使う機会が多そうなので、
取りあえずはunittestで色々書くようにしようかな。