Python Pyramid 测试
编写测试脚本以确保你的代码正常工作,被认为是一种良好的编程实践。Python生态系统有许多测试框架,包括捆绑在标准库中的 unittest 。 Pytest 是一个流行的测试库。它是Pyramid项目的一个首选库。
在演示 PasteDeploy 配置的使用时,我们将使用我们先前开发的hello包。
首先,确保Pyramid环境中安装了 PyTest 包。
打开hello包中的 setup.py 文件,加入黑体字显示的行,对其进行修改。
在这里,只要使用以下命令安装(或重新安装)Pytest,它就会被添加为项目的依赖关系—-。
将以下Python代码作为testing.py存储在hello包中。
要运行这些测试,请使用下面的Pytest命令。测试的输出如下所示
要检查测试是否失败,在测试函数中诱发一个错误并再次运行。
功能测试
尽管单元测试在测试驱动开发(TDD)方法中被广泛使用,但对于Web应用程序来说, WebTest 是一个可以进行功能测试的Python包。我们可以模拟一个针对WSGI应用程序的完整HTTP请求,然后测试响应中的信息。
例子
让我们使用前面例子中使用的hello项目。打开setup.py并添加WebTest作为项目依赖。
重新安装hello包及其开发模式的新依赖。
在 test.py 文件中包含一个功能测试
输出
最后按照以下命令运行Pytest —
Cookiecutter项目中的测试
CookieCutter工具自动生成了包含功能测试和单元测试的测试包。我们之前用Cookiecutter建立了名为testproj的Pyramid项目。在这个项目中,我们找到了测试文件夹。
例子
test_functional py包含以下测试函数
test_views.py定义了以下测试函数来测试视图 –
输出
这些测试由以下命令运行 –