Python 测试 pytest
2022-07-12
- 全局
setup_module(module)
/ teardown_module(module)
引入包的时候执行
setup_function(function)
/ teardown_function(function)
- 模块级别
setup()
/ teardown()
测试模块载入的时候执行
- 类级别
setup_class(cls)
/ teardown_class(cls)
setup_method(self, method)
/ teardown_method(self, method)
setup(self)
/ teardown(self)
nose 语法,会被上面两个方法覆盖
Supported nose Idioms
setup()
and teardown()
at module/class/method level: any function or method called setup
will be called during the setup phase for each test, same for teardown
.
SkipTest
exceptions and markers
- setup/teardown decorators
__test__
attribute on modules/classes/functions
- general usage of nose utilities
Pipenv Python
2022-05-16
pipenv requirements > requirements.txt && pipenv requirements --dev-only > requirements-dev.txt
开发者 Python
2022-04-19
一些阶段性目标:
-
参照网上查到的博客和文档,先列出大纲以及制定学习计划
大概以下五个主题的内容:
-
Python 标准库
- Tornado
- Redis
- RabbitMQ (pika)
-
MySQL (SQLAlchemy/pymysql)
-
如果资源方面允许,可以实现一个内部系统开发,进行编码和设计方面的指导
- 阅读项目文档,理解邮件和短信的处理流程,项目结构,以及每个项目的核心逻辑
- 给定一个周边项目进行开发维护,小任务开发(Code Review)
- 从写文档和单元测试开始,逐渐参与核心项目的开发和维护
其他:Linux 基础,Git,我们的开发流程和规范
标准库
- 常用基础库: os, sys, shutil, re, time, datetime, ramdom, json, pickle ...
- 日志: logging
- HTTP 相关: urllib, http
- 邮件相关: email, smtplib, smtpd
- 编码和加密相关: md5, sha, base64, hmac, binascii
- 单元测试: unitest 非常重要
Tornado
- Web 框架先走起来
- 基本用法,比如
add_timeout
, call_later
, add_callback
...
- 了解 IOLoop/IOStream
- 项目开发过程中的一些实践
Redis
- 安装
redis-cli
- 数据类型
- 命令清单
redis
库
RabbitMQ
- 基本概念 (Exchange / Queue / Binding / Channel / Connection)
- 安装和使用
pika
库
- 发布/订阅 (生产, 消费)
MySQL
- 数据类型
- 连接
- 索引
pymysql
/ mysqlclient
库
- SQLAlchemy
Python pip pipx
2022-01-13
pipx 和 pip 一样,也是来自 PyPA 的项目。
PS: PyPA 的知名项目包括 pipenv, pip, pipx, virtualenv, flit, twine。
pipx 的作用是将包安装在虚拟环境中(利用标准库中的 venv)。用来安装一些 Python 写的工具就很好,不需要关心这些工具的代码时。
Python Poetry
2022-01-12
我研究了半天之后感觉无法掌握 poetry,决定放弃,还是用我的 Pipenv。

Poetry 是一个 Python 虚拟环境管理器。
Python 测试 pytest
2022-01-10
给 tmuxp 提了一个 Issue, 作者 @tony (Tony 老师?😜) 让我选择是自己写测试,还是他来写。
我表达我对 pytest 不熟之后,他给我一点建议:
所以我先学习学习,然后抽空把 test 自己写了。
Python GIL
2021-10-22
开源中国上看到有人通过一些实验验证来视图说服 Python 核心团队移除 GIL,根据他的数据,移除 GIL 可以大幅提升多线程性能(19.8 倍)。
Python
2021-10-11
Python 3.10 前几天刚发布。
Python 3.11 据说性能可以提升 2 - 5 倍(2021/05/18, 关于 CPython 的 Shannon Plan),期待!
回顾以下 Python 的版本历史。
安全 加密 sm3 Python
2021-10-03
sm3
是我国设计的一种哈希算法,根据维基百科信息,大致相当于 sha256
。
Python 哈希
2021-10-01
一个不值一提的小问题:
有个地方使用 hash
方法来做哈希计算,将字符串转换成一个数值,但是发现改用 Python 3 之后,这个值每次运行都不一样了。