python单元测试

分别为函数测试和类测试

断言方法

方法用途
assertEqual(a, b)核实a == b
assertNotEqual(a, b)核实a != b
assertTrue(x)核实x为True
assertFalse(x)核实x为False
assertIn(item, list)核实item在list中
assertNotIn(item, list)核实item不在list中

测试方法要以 test 开头

函数测试

# name_.py
def get_formatted_name(first, last):

    full_name = first + ' ' + last
    return full_name.title()

# test1.py
import unittest
from name_ 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()

类测试

# survey.py
class AnonymousSurvey():
    def __init__(self, question):
        self.question = question
        self.responses = []
    def show_question(self):
        print(self.question)
    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.py
import unittest
from survey import AnonymousSurvey
class TestAnonymousSurvey(unittest.TestCase):
    #在setup中创建类的对象,就不用反复在测试函数中创建了
    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.assertIn(self.responses[0], 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)
unittest.main()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值