プログラム周り

ユニットテストの書き方

上のhuman.pyにユニットテストを書く。

retMaxMinでたとえば、2D6の最大値と最小値を割り出す(2-12)、生成されたインスタンスがその最大値と最小値の間の値を持つか調べる。

    def retMaxMin(self,str):
        (feq,level)=str.split('D')
        max=int(feq)*int(level)
        min=int(feq)*1
        return (max,min)
    
    def testLife(self):
        (mx,mn)=self.retMaxMin(self.f.itl)
        print mx,mn
        assert self.f.life<=mx
        assert self.f.life>=mn

そうすれば、思わぬバグが入り込むことを未然に防ぐことが出来る。

#This file was originally generated by PyScripter's unitest wizard

import unittest
import human

class TestHuman(unittest.TestCase):
    def setUp(self):
        self.f=human.ChHash['Fighter']()
        self.m=human.ChHash['Thief']()

    def tearDown(self):
        self.f=None
        self.m=None

    def testjob(self):
        assert self.f.job=='Fighter'
        assert self.m.job=='Thief'

    def retMaxMin(self,str):
        (feq,level)=str.split('D')
        max=int(feq)*int(level)
        min=int(feq)*1
        return (max,min)
    
    def testLife(self):
        (mx,mn)=self.retMaxMin(self.f.itl)
        print mx,mn
        assert self.f.life<=mx
        assert self.f.life>=mn
    def teststrike(self):
        pass

    def test__hit(self):
        pass

    def test__undice(self):
        pass
    
    def test__attack(self):
        pass


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

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-02-01 (日) 14:38:23 (3541d)