import unittest
from HTMLTestRunner import HTMLTestRunner
# 用TestLoader对象的discover方法来自动查找py,自动加载py文件中的方法
# 第一个参数是从哪里找py文件,"."从当前目录开始查找py文件
# 第二个参数是指定py文件的文件名,可以用通配符
suite = unittest.TestLoader().discover(
"."
,
"my*.py"
)
# runner = unittest.TextTestRunner()
file = open(
"test01.html"
,
"wb"
)
# 用wb代表用二进制写方式打开文件
# runner = unittest.TextTestRunner(stream=file, verbosity=2)
runner = HTMLTestRunner(stream=file, title=
"我的第一个html测试报告"
)
runner.run(suite)
file.close()
# demo08模块(demo08.py文件)
import unittest
from parameterized import parameterized
def digital(str1):
sum = 0
for
n
in
str1:
if
n >=
'0'
and n <=
'9'
:
sum += 1
return
sum
# s = digital('sdsd565olkl4')
# print(type(s))
# 以参数str1的值分别为”hello 123”和”1a3b”, “你好”
# 写测试用例, 测试函数digital是否正确
# 以参数str1的值分别为”hello 123”和”1a3b”, “你好”
# 写测试用例, 测试函数digital是否正确
class testStr(unittest.TestCase):
@parameterized.expand([(
'hello 123'
, 3), (
'1a3b'
, 2), (
'你好'
, 1)])
def test_01(self, a, b):
result = digital(a)
self.assertEqual(result, b)
**********************************************************************************************************
# demo09模块(demo09.py文件)
# 调用demo08.py中的方法,生成一个测试报告!!!
import unittest
import homework.demo08
from HTMLTestRunner import HTMLTestRunner
def start():
suits = unittest.TestLoader().discover(r
'.'
,
'demo08.py'
)
file = open(
'test_report04.html'
,
'wb'
)
runner = HTMLTestRunner(stream=file, verbosity=2, title=
'第一个测试报告的生成'
, description=
'关于字符串中的是否有数字的判断'
)
runner.run(suits)
file.close()
start()