了解如何使用NodeJS快照测试快速轻松地测试您的代码。利用这个强大的工具充分利用您的开发过程!
如果您正在阅读本文,那么很有可能您对Web开发有所了解。如果您身处Web开发领域,那么您可能知道什么是NodeJS。但如果您不知道的话:NodeJS是一个JavaScript运行时环境,它允许我们在浏览器之外运行JavaScript代码。由于其非阻塞、异步特性,它是构建复杂Web应用程序的绝佳工具。它也是构建API的理想选择。
测试是开发过程中的一个重要部分。这里,我们将讨论一种重要的测试类型:快照测试。
对于任何参与NodeJS开发服务的人来说,在微信小程序开发中编写测试或遵循TDD(测试驱动开发)实践至关重要。没有人愿意交付错误的代码、损坏的UI或有缺陷的产品。避免这些问题的最佳方法是测试。
在这里,我们将构建一个简单的待办事项应用程序并使用快照测试对其进行测试。
要了解快照测试,我们首先需要构建我们的应用程序。如果我们有一个CRUD应用程序,那就太好了,因此,我们将构建一个待办事项应用程序,该应用程序将具有获取、添加、更新和删除待办事项的属性。
我们首先创建一个名为“todo-app”的新文件夹,然后进入该文件夹并运行npminit-y。这将创建一个新的package.json文件。虽然我们正在构建一个简单的待办事项应用程序,但我们应该始终遵循最佳实践,将应用程序划分为不同的部分。因此,如果我们在Linux终端上,我们将通过运行mkdircontrollersdbmdelsroutestests来创建文件夹来划分我们的代码。
现在,我们需要安装将要使用的依赖项。让我们在应用程序的根目录上运行以下命令npmiexpressmongoosejestmongodbnodemonsupertestdotenv–save。这将安装构建应用程序所需的依赖项。我们将使用Express启动服务器,使用MongoDB作为数据库,使用Mongoose与MongoDB交互,使用Nodemon无需重启即可监视服务器。dotenv将帮助我们隐藏敏感数据,Jest和SuperTest将帮助我们测试应用程序。
现在我们已经安装了所需的依赖项,让我们通过在终端上运行touchindex.js来创建一个新文件index.js并开始编码。
在nodeJS应用程序上进行快照测试有几个不太明显的好处。其中一些是:
回归测试:快照测试可以确保您所做的任何更改不会破坏您的应用程序。您可以运行测试并查看应用程序中是否有任何意外更改。
API契约验证:快照测试有助于确认前端和后端之间的契约没有被破坏。通过对API响应进行快照,您可以确保前端获取了预期的数据。
文档:通过拍摄快照,您可以向队友传达应用程序的状态以及在哪种情况下应该返回哪种数据。
协作开发:快照测试有利于前端和后端开发人员之间的沟通。通过快照,前端开发人员可以预测并处理后端的任何变化。
重构和代码更改:在代码重构中,快照提供了安全网。您可以确保您的更改不会改变任何不需要的内容。
在这里,微信小程序开发学习了如何对nodeJS应用程序进行快照测试、安装和配置Jest、编写测试以及对应用程序的当前状态进行快照。我们还回顾了快照测试的好处。现在,您应该更清楚地了解快照测试包含的内容以及它为何有助于开发过程。