Logo
Section 1 / 5

编写并运行视图的测试

学习如何测试 Django 视图。

导入

编写并运行视图的测试

学习如何测试 Django 视图。

为了完善电子图书馆应用,我们将为视图编写测试。视图将体现应用程序的业务逻辑,即接收网页请求并返回响应的代码。在此过程中,有两个目标:

  • 第一个是使表单能够将新书籍保存到数据库中。
  • 第二个是向用户展示所有书籍。

目前,我们仅在 views.py 文件中有一个显示空表单的视图,名为 add_catalogue_form。

编写视图的测试

让我们为视图编写一些测试:

No configuration found for ID: 373d531f2cbaa00615ef3eb997707f442694636213f9335d14e3a9b586013049

第8行: 我们创建了一个新的测试类 CatalogueViewTests,它继承自 TestCase 类。这是因为我们将与数据库进行交互。

第10行: 在该测试类中,我们只有一个方法,名为 test_book_list_view。

第12行和第20行: 我们创建了两条数据条目。
第28行: 该测试的目标是验证当请求首页时,能够成功在首页上显示所有书籍。为此,我们请求首页并将结果存储在名为 response 的变量中。

最后,我们使用三个 assertIn 函数来检查这些书籍是否出现在首页上。要获取 response 变量中的内容,我们通过 response.content.decode() 来访问。

运行测试

编写完测试后,现在可以运行它了。回想一下,这是 TDD 流程的第二步,此时测试必须失败。这表明测试确实在检验新的功能。

我们按照以下步骤运行测试:

  1. 点击上方代码窗口中的“运行”按钮。
  2. 在“终端”标签页中,按键盘上的 “Ctrl+C” 停止开发服务器。
  3. 使用以下命令运行测试方法:

python3 manage.py test elibrary_app.tests.CatalogueViewTests.test_book_list_view

由于我们尚未为 Django 视图添加相应功能,因此测试会失败。

电子图书馆应用:第二部分

编写视图的代码