【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天前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
34 2
|
1天前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
15 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
7天前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
26 6
基于Python访问Hive的pytest测试代码实现
|
10天前
|
安全 JavaScript 前端开发
自动化测试的魔法:如何用Python编写你的第一个测试脚本
【8月更文挑战第41天】在软件的世界里,质量是王道。而自动化测试,就像是维护这个王国的骑士,确保我们的软件产品坚不可摧。本文将引导你进入自动化测试的奇妙世界,教你如何使用Python这把强大的魔法杖,编写出能够守护你代码安全的第一道防护咒语。让我们一起开启这场魔法之旅吧!
|
11天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
25 2
|
12天前
|
消息中间件 监控 测试技术
惊呆了!Python性能测试高手都用这些神器:JMeter+Locust,效率翻倍📈
【9月更文挑战第8天】在软件开发中,性能测试对确保应用稳定性和高效运行至关重要。对于Python开发者而言,选择合适的性能测试工具能显著提升测试效率并精准定位性能瓶颈。本文深入探讨了JMeter和Locust这两款工具的独特优势。JMeter作为跨平台的性能测试工具,支持多种协议,具备高度可定制性和扩展性;而Locust则专为Python应用设计,利用协程实现高并发,提供实时监控和分布式测试功能。两者结合使用,可在实际项目中实现1+1>2的效果,帮助开发者构建全面高效的测试方案,保障应用稳定运行。
42 1
|
7天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:如何用Selenium和Python打造高效测试脚本
【9月更文挑战第13天】在软件开发的海洋中,自动化测试是那抹不可或缺的亮色。它不仅提升了测试效率,还保障了产品质量。本文将带你领略使用Selenium和Python构建自动化测试脚本的魅力所在,从环境的搭建到脚本的编写,再到问题的排查,每一步都是对软件质量把控的深刻理解和实践。让我们开始这段探索之旅,解锁自动化测试的秘密吧!
8 0
|
7天前
|
jenkins 测试技术 持续交付
自动化测试的高效之路:如何利用Python进行Web应用测试
【9月更文挑战第13天】在软件开发的快节奏中,自动化测试是确保质量和效率的关键。本文将引导你了解如何使用Python语言及其强大的测试框架来提升Web应用的测试效率。我们将一起探索编写简洁而强大的测试脚本的技巧,以及如何通过持续集成(CI)实现自动化测试流程。准备好让你的测试工作飞一般的感觉!
|
7天前
|
JSON JavaScript 前端开发
如何在python下建立cucumber项目
Gherkin语言使用的是主要英文关键词Scenario、Given、when 、And、Then和But等,这些关键词可以转换成中文关键词,场景、假如、当、那么等。根据用户故事,需求人员或测试人员使用Gherkin语言编写好测试场景的每个步骤。
10 0
|
安全 Java Python
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码