【问题标题】:Unit, Integration and Functional Testing单元、集成和功能测试
【发布时间】:2020-09-25 12:52:47
【问题描述】:
我正在处理测试用例,我想弄清楚哪些是目录和文件,
- 单元测试。
- 集成测试。
- 功能测试。
我的应用架构如下,
- 控制器(通过从服务目录调用服务文件来控制相应的操作)。
- 模型(数据表模型)。
- 路由(用于路由)。
- 服务(与模型通信的层)。
- db(保存数据库的迁移)。
- index.js(运行服务器)。
谁能帮我说说哪些目录和文件需要哪种类型的测试(单元、集成、功能)?
谢谢。
【问题讨论】:
-
这是一个很常见的问题。您可以在这里找到更多答案:1、2、3、4
标签:
node.js
testing
mocha.js
chai
sinon
【解决方案1】:
- 单元测试:顾名思义,这些测试涵盖代码中的单独单元,因此每个函数/文件都应该有自己单独的单元测试。此外,您不使用真实的网络和数据库进行这些测试,它们是存根/模拟的。
- 集成测试:这些测试不同模块相互集成的工作。查看您的架构,index.js 和服务似乎是主要模块,控制器、模型和路由似乎是辅助模块。因此,您将针对真实数据库和网络编写 index.js 和服务测试,其配置与您在现实生活中的应用程序相同。
- 功能测试:这些测试模仿最终用户体验,也称为端到端测试。随着应用程序随着时间的推移而发生变化,这些往往编写起来很复杂并且不健壮。这需要编写类似 selenium 测试的东西,其中所有浏览器点击都是自动化的,并确保所有内容都按预期显示。我建议不要写很多这些,只涵盖主要场景。