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