001、用python写一个方法,把字符串转化为数字,比如:str='1234',变成 int 1234.并测试这个程序。

 

1、用python写一个方法,把字符串转化为数字,比如:str='1234',变成 int 1234, 并测试这个程序。

 a、用 pytest 实现 如下:

import pytest


# 被测试函数
def str_to_int(str_param: str):
    if str_param.isdigit():
        results = int(str_param)
    else:
        results = '非int字符串,不能转化为int'
    return results

# 测试数据
cases = [
    ('', '非int字符串,不能转化为int'),
    ('1234', 1234),
    ('abc', '非int字符串,不能转化为int'),
    ('3.14', '非int字符串,不能转化为int')
]


@pytest.mark.parametrize('item', cases)
def test_str_to_int(item):
    assert item[1] == str_to_int(item[0])

执行结果如下:

 

b、用 unittest 实现如下:

import unittest
from ddt import ddt, data


# 被测试函数
def str_to_int(str_param: str):
    if str_param.isdigit():
        results = int(str_param)
    else:
        results = '非int字符串,不能转化为int'
    return results


# 测试数据
cases = [
    ('', '非int字符串,不能转化为int'),
    ('1234', 1234),
    ('abc', '非int字符串,不能转化为int'),
    ('3.14', '非int字符串,不能转化为int')
]


@ddt
class TestStrToInt(unittest.TestCase):

    @data(*cases)
    def test_str_to_int(self, item):
        self.assertEqual(item[1], str_to_int(item[0]))

执行结果如下:

 

posted @ 2021-09-08 16:10  空-山-新-雨  阅读(3238)  评论(0编辑  收藏  举报