python 单元测试

被测函数

============被测函数=============
#coding:utf-8

class 世卫计算方法():

    """标准体重 标准体重正负10﹪为正常体重 标准体重正负10﹪~20﹪为体重过重或过轻 标准体重正负20﹪以上为肥胖或体重不足 超重"""

    def 男性(self,身高厘米,体重公斤):
        标准 = (身高厘米-80)*70/100
        return (self.计算(标准,体重公斤))

    def 女性(self,身高厘米,体重公斤):
        标准 = (身高厘米-70)*60/100
        return(self.计算(标准, 体重公斤))

    def 计算(self,标准,实际):
        if (实际 - 标准*1.2 >= 0):
            return "过重"
        if (实际 - 标准*0.8 <= 0):
            return "过轻"
        if (实际 - 标准*1.1 >= 0):
            return "偏重"
        if (实际 - 标准*0.9 <= 0):
            return "偏轻"
        return "正常"

if __name__ == '__main__':

    世卫 = 世卫计算方法()
    世卫.男性(身高厘米=170,体重公斤=60)

 普通单元测试

#coding:utf-8
from unittest import TestCase
from fat import 世卫计算方法

class Test_fat(TestCase):

    def test_man(self):
        实际结果 = 世卫计算方法().男性(身高厘米=170, 体重公斤=60)
        assert (实际结果 == "正常")

    def test_woman(self):
        实际结果 = 世卫计算方法().女性(身高厘米=170, 体重公斤=160)
        assert(实际结果 == "正常")

 ddt单元测试

#coding:utf-8
import ddt
from unittest import TestCase
from fat import 世卫计算方法

testman=[
    {"身高":100,"体重":100,"预期结果":"过重"},
    {"身高":170,"体重":150,"预期结果":"过重"},
    {"身高":188,"体重":170,"预期结果":"过重"}
]

testwoman=[
    {"身高":100,"体重":100,"预期结果":"过重"},
    {"身高":170,"体重":150,"预期结果":"过重"},
    {"身高":188,"体重":170,"预期结果":"过重"}
]

@ddt.ddt
class Test_fat(TestCase):

    @ddt.data(*testman)
    def test_man(self,testman):
        实际结果 = 世卫计算方法().男性(身高厘米=testman["身高"], 体重公斤=testman["体重"])
        assert (testman["预期结果"] == 实际结果)

    @ddt.data(*testwoman)
    def test_woman(self,testwoman):
        实际结果 = 世卫计算方法().男性(身高厘米=testwoman["身高"], 体重公斤=testwoman["体重"])
        assert (testwoman["预期结果"] == 实际结果)

 测试套件

#coding:utf-8
import unittest
from unittest import TestCase
import os
from fat import 世卫计算方法

class Test_fat(TestCase):

    def test_man(self):
        实际结果 = 世卫计算方法().男性(身高厘米=170, 体重公斤=60)
        assert (实际结果 == "正常")

    def test_woman(self):
        实际结果 = 世卫计算方法().女性(身高厘米=170, 体重公斤=160)
        assert(实际结果 == "过重")

if __name__ == '__main__':

    runner = unittest.TextTestRunner(verbosity=2)
    suite1 = unittest.TestSuite()  # 建立测试套件
    suite1.addTests([Test_fat('test_man'), Test_fat('test_woman')])
    runner.run(suite1)

    suite2 = unittest.TestSuite()  # 建立测试套件
    suite2.addTests([Test_fat('test_man')])
    runner.run(suite2)

    # os.system("python -m unittest -v test_fat_suite.py")

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值