用pytest-httpserver来测试requests

在Python程序中,用[requests]发起网络请求,是常见的操作。 但如何测试,是一个麻烦的问题。

配置yapf和isort的Vim与Pytest插件

用Vim写Python,曾是一件流行的事,而今已经变得小众。 实际上,Vim仍然是Python开发的最佳利器之一,在很多方面,甚至优于PyCharm这样的IDE。 本文会基于Vim,介绍Python的风格统一与格式化方法。 并且,还会集成它们到pytest中去。

用csv文件进行Junit5的参数化测试

一些函数式的接口,给定输入、期待特定输出,没有太多副作用,特别适合参数化测试(Parameterized Test)。 JUnit5提供了多种参数化测试的形式,本文着重介绍CsvSource和CsvFileSource。

pytest的插件介绍:pytest-cov、pytest-pep8与pytest-flakes

pytest不仅是一个功能强大的测试框架,同时也是一个插件化的测试平台。

JUnit5简介及其Gradle初始化

JUnit5已经从一个孤立的jar库,变成了一个平台(一群jar)。 本文基于Gradle的4.x版本,介绍其初始化配置与使用。

pytest中使用mock

单元测试的条件有限,在测试过程中,有时会遇到难以准备的环境。 比如,与服务器的网络交互、对数据库的读写等。 而mock的技术,就是在测试时,不修改源码的前提下,替换某些对象,模拟测试环境。

pytest中的fixture

会写测试,和写好测试,是差距很大的两种境界。 本文介绍pytest中setup与teardown的写法,算是单元测试的进阶内容吧。

Python项目的pytest初始化

pytest,曾用名py.test。 它能兼容unittest与nose的测试代码,写法简洁,并且还有自己的独到之处。 本文仅介绍pytest测试最基本的写法,以及如何在一个Python项目进行初始化。