python测试代码_Python代码单元测试

单元测试 用于核实函数的某个方面没有问题,测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求

模块unittest提供了代码测试工具

测试函数

用于测试的类必须继承unittest.TestCase类

unittest类最有用的功能之一是:一个断言方法。断言方法用于核实得到的结果是否与期望的结果一致

name_function.py

def get_formatted_name(first, last):

full_name = first + ' ' + last

return full_name.title()

test.py

import unittest

from name_function import get_formatted_name

class NamesTestCase(unittest.TestCase):

def test_first_last_name(self):

formatted_name = get_formatted_name('janis', 'joplin')

self.assertEqual(formatted_name, 'Janis Joplin')

#unittest.main() 使用pycharm不需要加这句

测试类

unittest.TestCase类包含方法setUp( ), 可以让我们只需要创建测试中使用的对象一次,并在每个测试方法中使用它们。如果在TestCase中包含了方法setUp( ), Python将

先运行它,再运行各个以test_打头的方法。这样在每个测试方法中就都能使用在方法setUp( )中创建的对象了。

下面是书中测试类的一个例程:

survey.py

class AnonymousSurvey():

def __init__(self, question):

self.question = question

self.responses = []

def store_response(self, new_response):

self.responses.append(new_response)

def show_results(self):

print("Survey results: ")

for response in self.responses:

print('- ' +response)

test_survey.py

import unittest

from survey import AnonymousSurvey

class TestAnonymousSurvey(unittest.TestCase):

def setUp(self):

question = "What language did you first learn to speak?"

self.my_survey = AnonymousSurvey(question)

self.responses = ['English', 'Spanish', 'Mandarin']

def test_store_single_response(self):

self.my_survey.store_response(self.responses[0])

self.assertIn('English',self.my_survey.responses)

def test_store_three_responses(self):

for response in self.responses:

self.my_survey.store_response(response)

for response in self.responses:

self.assertIn(response,self.my_survey.responses)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值