【python种子项目ppc】保姆级别指导给项目添加测试

简介: 正式的Python专栏第13篇,同学站住,别错过这个从0开始的文章!

前面学委介绍了 pypi-seed优质库快速生成一个项目,然后开发自己的翻译小项目。

这次我们开发函数并编写测试代码项目中持续加测试,可以让程序质量更高,后期改了直接运行测试,更有保障。

对了,还没有安装ppc的直接运行下面命令:

pip install pypi-seed # pip install --upgrade pypi-seed 或者这个命令升级最近ppc
ppc # 运行pypiseed命令行查看使用帮助

image.png

第一步 编写一个函数并实现测试

继续使用前篇项目的代码,复制下面黏贴到:demo.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/9/14 10:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : demo.py
# @Project : helloworld
from translate import Translator
def translate(text):
    translator = Translator(to_lang="chinese")
    return translator.translate(text)

这个非常简单就是直接调用中文翻译。

这里我们不写main函数了。

第二步编写测试

复制下面代码保存到tests目录,文件名为demo_test.py

# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
import unittest
#导入模块的demo函数
from helloworld import demo 
class DemoTest(unittest.TestCase):
    def test_translate(self):
        expect = "好好学习,天天向上"
        actual = demo.translate("good good study, day day up")
        self.assertNotEqual(expect, actual)
        expect = "好好学习 , 天天向上"
        self.assertEqual(expect, actual)
        print("测试结束,一切顺利")
if __name__ == '__main__':
    unittest.main()

这个测试代码有main函数。

直接运行代码,效果如下:

image.png

这里我们看到“测试结束,一切顺利“。


因为中间出错误,不可能执行到最后一行。


上面的测试代码主要分三步


导入helloworld模块的demo函数

调用demo 函数获取输出到actual变量

调用测试工具的函数校验actual跟expect(预期结果)比对,测试失败则不继续执行,直接报错。

新知识unittest

这是python内置的测试模块。


它就像机器人一样,安装我们指定的测试校验要求,自动执行代码,自动校验,错了会告诉我们(通过运行结果)


编写我们自己开发的函数的测试,分为下面三步


导入unittest模块

实现一个unittest.TestCase子类

编写测试函数

再往上看一看测试代码,回顾一下这个步骤吧。


第三 把测试代码故意改错

这里代码不贴了,读者直接定位测试11行,在expect文本内容添加‘【雷学委】’。


image.png

总结

本次我们继续在pypi-seed创建的实战项目中添加测试代码。


代码中的测试很有必要!总不能每次都手工运行main函数。


实际项目会有成百上千个python脚本,导入很多外部模块,这些不可能一个一个编写main函数并去运行。


我们都会通过测试框架来批量运行测试用例!所以项目必须在开始阶段就加入测试用例。


还没有安装ppc的可以运行下面命令:


pip install pypi-seed # pip install --upgrade pypi-seed 或者这个命令升级最近ppc
ppc # 运行pypiseed命令行查看使用帮助

ppc还有更多功能,学委本次没有展示的,下次再一一解析!


项目中的其他文件可以参考其他文章:

https://levin.blog.csdn.net/article/details/120214153

https://levin.blog.csdn.net/article/details/116111486


目录
相关文章
|
12天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
48 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
15天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
41 3
|
13天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
30 1
|
17天前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
|
20天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
22天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
25 1
|
30天前
|
JSON 搜索推荐 API
Python的web框架有哪些?小项目比较推荐哪个?
【10月更文挑战第15天】Python的web框架有哪些?小项目比较推荐哪个?
51 1
|
13天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
1月前
|
机器学习/深度学习 算法框架/工具 Python
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
62 0
|
6天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。