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]))
執行結果如下: