spring-boot - 如何浏览器测试 Vue.js 应用程序模拟 API 调用?
问题描述
我有一个使用 Vue.js 作为前端和 Spring-boot 作为后端的应用程序。
我想使用浏览器和 selenium 对我的视图进行“单元测试”(或集成测试,无论你想怎么称呼它),但要模拟 API 调用(ajax 请求)。
建议使用哪些工具来做到这一点?
解决方案
Selenium 测试称为集成或端到端 (E2E) 测试。单元测试不是使用 Selenium 完成的,它通常使用以下工具之一完成:Jest、Karma、Jasmine、Mocha 或 Chai。(其中一些是“期望库”,其中一些是“测试运行者”,一些两者都是)
Vue中的单元测试
请查看 Vue 单元测试指南。社区目前对 Jest 有强烈的偏好,这意味着您可以免费下载的大多数工具都是针对使用 Jest 的人。
Vue 中的端到端测试
用于 e2e 测试 Vue 应用程序的现代推荐工具是 Cypress 或 Nightwatch。我将从这些开始。查看这篇文章开始。
如果你仍然想使用 Selenium,测试一个普通的 web 应用程序和测试一个 Vue web 应用程序实际上没有区别。这是因为 Selenium 在浏览器的抽象级别上运行,并不关心您发出什么网络请求、使用什么后端或使用什么前端。
你需要哪一个?
嗯,两者都有。本文将帮助指导您在它们之间进行选择,或者两者都做。每个都有权衡。我们最近完全放弃了 e2e 测试,转而编写更多的单元测试。用了快2年了,还不错
推荐阅读
- ruby-on-rails - 为什么“activerecord-import”不执行批量插入?
- nginx - 如何在 Nginx 反向代理后面运行 Grafana 6.x
- git - GIT环境路径
- node.js - 当我在谷歌云应用引擎上使用 Markojs 部署应用程序 Nodejs 时,我收到错误“EROFS:只读文件系统...”
- python-3.x - 如何在不阻塞程序的情况下为命令制作计时器
- python - 在 Django 中创建新模型时在 s3 中动态放置文件
- svg - 定位svg文本
- ios - Interface Builder 约束问题
- c++ - 模板类中的模板成员特化
- angular - 您如何为 Angular http 请求(或其他任何东西)制作“请稍候”微调器?