对Python unittest的功能进行了扩展 原作者:jianbing git: 'https://github.com/jianbing/utx' EMAIL = '326333381@qq.com'
Project description
Home-page: UNKNOWN
Author: lijian
Author-email: 389105015@imdada.cn
License: MIT
Description-Content-Type: UNKNOWN
Description:
### udp
* udp主要utx的修改,对由python3.5的支持转换为python2.7
* 支持Python2.7
* 安装udp
```
pip install dup
```
* 功能列表
* 用例排序,只需要导入udp库,用例的执行顺序就会和编写顺序一致
* 用例自定义标签,可以对测试用例指定多个标签。
目前全部用例默认带有`FULL`标签,未指定标签的用例,默认带有`SMOKE`和`FULL`两个标签。
* 示例
```py
@unique
class Tag(Enum):
SMOKE = 1 # 冒烟测试标记,可以重命名,但是不要删除
FULL = 1000 # 完整测试标记,可以重命名,但是不要删除
# 以下开始为扩展标签,自行调整
SP = 2
```
```py
class TestLegion(unittest.TestCase):
@tag(Tag.SMOKE)
def test_create_legion(self):
pass
@tag(Tag.SP, Tag.FULL)
def test_quit_legion(self):
"""退出军团
:return:
"""
print("吧啦啦啦啦啦啦")
assert 1 == 2
```
* 运行指定标签的测试用例
```py
from dup import *
if __name__ == '__main__':
setting.run_case = {Tag.SMOKE} # 只运行SMOKE冒烟用例
runner = TestRunner()
runner.add_case_dir(r"testcase")
runner.run_test(report_title='接口自动化测试报告')
```
* 数据驱动
```py
class TestLegion(unittest.TestCase):
@data(["gold", 100], ["diamond", 500])
def test_bless(self, bless_type, award):
print(bless_type)
print(award)
@data(10001, 10002, 10003)
def test_receive_bless_box(self, box_id):
""" 领取祈福宝箱
:return:
"""
print(box_id)
* 默认会解包测试数据来一一对应函数参数,可以使用unpack=False,不进行解包
```py
class TestBattle(unittest.TestCase):
@data({"gold": 1000, "diamond": 100}, {"gold": 2000, "diamond": 200}, unpack=False)
def test_get_battle_reward(self, reward):
""" 领取战斗奖励
:return:
"""
print(reward)
print("获得的钻石数量是:{}".format(reward['diamond']))
```
* 检测用例是否编写了用例描述
```
2017-11-13 12:00:19,334 WARNING legion.test_legion.test_bless没有用例描述
```
* 执行测试时,显示测试进度
```
2017-11-13 12:00:19,336 INFO 开始进行测试
2017-11-13 12:00:19,436 INFO Start to test legion.test_legion.test_create_legion (1/5)
2017-11-13 12:00:19,536 INFO Start to test legion.test_legion.test_receive_bless_box (2/5)
2017-11-13 12:00:19,637 INFO Start to test legion.test_legion.test_receive_bless_box (3/5)
2017-11-13 12:00:19,737 INFO Start to test legion.test_legion.test_receive_bless_box (4/5)
2017-11-13 12:00:19,837 INFO Start to test legion.test_legion.test_quit_legion (5/5)
```
* setting类提供多个设置选项进行配置
```py
class setting:
# 只运行的用例类型
run_case = {Tag.SMOKE}
# 开启用例排序
sort_case = True
# 每个用例的执行间隔,单位是秒
execute_interval = 0.1
# 开启检测用例描述
check_case_doc = True
# 显示完整用例名字(函数名字+参数信息)
full_case_name = False
# 测试报告显示的用例名字最大程度
max_case_name_len = 80
# 执行用例的时候,显示报错信息
show_error_traceback = True
# 生成ztest风格的报告
create_ztest_style_report = True
# 生成bstest风格的报告
create_bstest_style_report = True
```
* 集成 [ztest](https://github.com/zhangfei19841004/ztest) 和 [BSTestRunner](https://github.com/easonhan007/HTMLTestRunner) 自动生成两份测试报告,感谢两位作者的测试报告模版
* ztest风格
![ztest风格](https://github.com/jianbing/utx/raw/master/img/ztest.png)
* bstest风格
![bstest风格](https://github.com/jianbing/utx/raw/master/img/bstest.png)
* 无缝接入unittest项目,导入utx包即可开始使用扩展功能,无需修改之前的代码
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Author: lijian
Author-email: 389105015@imdada.cn
License: MIT
Description-Content-Type: UNKNOWN
Description:
### udp
* udp主要utx的修改,对由python3.5的支持转换为python2.7
* 支持Python2.7
* 安装udp
```
pip install dup
```
* 功能列表
* 用例排序,只需要导入udp库,用例的执行顺序就会和编写顺序一致
* 用例自定义标签,可以对测试用例指定多个标签。
目前全部用例默认带有`FULL`标签,未指定标签的用例,默认带有`SMOKE`和`FULL`两个标签。
* 示例
```py
@unique
class Tag(Enum):
SMOKE = 1 # 冒烟测试标记,可以重命名,但是不要删除
FULL = 1000 # 完整测试标记,可以重命名,但是不要删除
# 以下开始为扩展标签,自行调整
SP = 2
```
```py
class TestLegion(unittest.TestCase):
@tag(Tag.SMOKE)
def test_create_legion(self):
pass
@tag(Tag.SP, Tag.FULL)
def test_quit_legion(self):
"""退出军团
:return:
"""
print("吧啦啦啦啦啦啦")
assert 1 == 2
```
* 运行指定标签的测试用例
```py
from dup import *
if __name__ == '__main__':
setting.run_case = {Tag.SMOKE} # 只运行SMOKE冒烟用例
runner = TestRunner()
runner.add_case_dir(r"testcase")
runner.run_test(report_title='接口自动化测试报告')
```
* 数据驱动
```py
class TestLegion(unittest.TestCase):
@data(["gold", 100], ["diamond", 500])
def test_bless(self, bless_type, award):
print(bless_type)
print(award)
@data(10001, 10002, 10003)
def test_receive_bless_box(self, box_id):
""" 领取祈福宝箱
:return:
"""
print(box_id)
* 默认会解包测试数据来一一对应函数参数,可以使用unpack=False,不进行解包
```py
class TestBattle(unittest.TestCase):
@data({"gold": 1000, "diamond": 100}, {"gold": 2000, "diamond": 200}, unpack=False)
def test_get_battle_reward(self, reward):
""" 领取战斗奖励
:return:
"""
print(reward)
print("获得的钻石数量是:{}".format(reward['diamond']))
```
* 检测用例是否编写了用例描述
```
2017-11-13 12:00:19,334 WARNING legion.test_legion.test_bless没有用例描述
```
* 执行测试时,显示测试进度
```
2017-11-13 12:00:19,336 INFO 开始进行测试
2017-11-13 12:00:19,436 INFO Start to test legion.test_legion.test_create_legion (1/5)
2017-11-13 12:00:19,536 INFO Start to test legion.test_legion.test_receive_bless_box (2/5)
2017-11-13 12:00:19,637 INFO Start to test legion.test_legion.test_receive_bless_box (3/5)
2017-11-13 12:00:19,737 INFO Start to test legion.test_legion.test_receive_bless_box (4/5)
2017-11-13 12:00:19,837 INFO Start to test legion.test_legion.test_quit_legion (5/5)
```
* setting类提供多个设置选项进行配置
```py
class setting:
# 只运行的用例类型
run_case = {Tag.SMOKE}
# 开启用例排序
sort_case = True
# 每个用例的执行间隔,单位是秒
execute_interval = 0.1
# 开启检测用例描述
check_case_doc = True
# 显示完整用例名字(函数名字+参数信息)
full_case_name = False
# 测试报告显示的用例名字最大程度
max_case_name_len = 80
# 执行用例的时候,显示报错信息
show_error_traceback = True
# 生成ztest风格的报告
create_ztest_style_report = True
# 生成bstest风格的报告
create_bstest_style_report = True
```
* 集成 [ztest](https://github.com/zhangfei19841004/ztest) 和 [BSTestRunner](https://github.com/easonhan007/HTMLTestRunner) 自动生成两份测试报告,感谢两位作者的测试报告模版
* ztest风格
![ztest风格](https://github.com/jianbing/utx/raw/master/img/ztest.png)
* bstest风格
![bstest风格](https://github.com/jianbing/utx/raw/master/img/bstest.png)
* 无缝接入unittest项目,导入utx包即可开始使用扩展功能,无需修改之前的代码
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dup-1.0.tar.gz
(39.9 kB
view hashes)
Built Distribution
dup-1.0-py2-none-any.whl
(42.6 kB
view hashes)