关于自动化测试/ssr的两个问题

1 如何在现有的项目添加 单元测试和E2E测试(还有其他的测试吗)
a.单元测试如何划分单元呢 那么多功能点 每个功能点是一串流程 怎么保证覆盖率?
b.e2e测试 确定测试哪些交互呢 (在一篇文章看到说不应该写太多交互测试 不然不能再短时间内完成测试)
c.vue项目做自动化测试一般是用vue-test吗
2 ssr
a. ssr是为了提高seo的搜索结果 然后在爬虫访问页面的时候直接在服务端直接返回整个html静态页面吗(还有其他作用吗)
b.如何在已经构建好的vue项目里面使用ssr

阅读 2.3k
1 个回答

首先,你这不是两个问题,而是五个问题。

  1. 如何在现有的项目添加单元测试和E2E测试?有很多测试包可以使用,包括Jest, Karma, Mocha等等等等,每一个包都不简单,都够你研究半天。
  2. 单元测试如何划分单元?简单来说,一个源文件就是一个单元,你需要针对这个文件里的所有函数逐个编写测试用例,这个就叫单元测试。不存在所谓的一串流程,对多个函数构成的一串流程的测试,叫系统测试,或者也有人叫E2E测试或者端到端测试,但这两者其实还是不同的。
  3. E2E测试要测试哪些交互?如果全面来讲,应该是所有的交互。一个不完备的测试不能叫测试,或者还不如不测。既然是端到端测试,则意味着要测试整个系统中的每一端,包括PC端,手机端,前端,后端,管理端,所有端联合测试都没有问题了,才能说整个系统的端到端测试完全通过了。
  4. 从来没有所谓自动化测试一说,所有的自动化测试只是让机器执行了一部分最不花时间的人力测试,而你要花费三倍到五倍的时间去编写测试用例脚本,并且当产品经理随意修改需求的时候,你不但要改代码,并且还要改测试用例,并且再花三到倍的时间去调试解决由于错误编写测试用例而导致的错误。所以简单来说:是的,vue项目的自动化测试是用vue-test,当然也可以用karma, mocha或者任何你能想象得到的测试包,只要你愿意再多花三倍的时间去逐个熟悉和适应它们。
  5. SSR的作用很多,绝对不止是SEO优化,这只是其中最不重要的一点。实际上SSR的真正作用是加快首页的加载速度而降低第二页第三页的加载速度。所有人都讨厌页面加载缓慢,由于传统的单页应用在加载首页时就把第二页第三页第四页所需要的JS文件和CSS文件也都打包加载进来了,有些人觉得这样比较慢,所以他们采用SSR由服务器根据发送过来的请求逐页组织数据,这样有效地减少了首页传输的数据量,同时有效地增加了第二页第三页第四页传输的数据量。
  6. 网上有很多教程教你如何把一个已经写好的单页vue项目改造成SSR,具体来说,就是把你的程序拆分成两部分,一部分运行在一个小的node服务器里,另一部分编译成js文件,由这个小的node服务送给前端。根据我的经验,最好的作法是一开始就用SSR来做,而不要半途修改。如果不得已的话,也不是在一个已有的vue项目里增加SSR,而是新建一个空的SSR项目,然后把你的老的代码搬进去,这才是最正确做法。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题