如何给 Web App 写测试代码?

2016-04-26 21:42:57 +08:00
 talent
之前一直体会不到测试(如单元测试)的重要性,直到进入现在的项目组。这边流程很规范,所有新 feature 甚至改一个 bug/issue 都需要补相应的测试。最近在做 framework 版本升级,升级后网站会有很多 warning 甚至 error 。这时候如果测试覆盖率高的话,基本对照着 fail 的测试查找相应位置然后修改就行了,不像以前没有测试时还需要一个页面一个页面去检查。

我们组现在做了两种测试: Unit Test 跟 Integration Test 。

Unit Test 是针对最小单位 component 做一些相应 properties 跟 methods 的测试;
Integration Test 听上去像是集成测试,其实只是在浏览器里把 app 启动起来,然后模拟点击测试整个 flow 是否 work 。页面数据也不是来自真实后端,而是来自像 pretender 这样的 fake server 和一些 mock data 。 fake server 的行为尽量模拟后端 API 的行为, mock data 则是根据跟后端商量的 API contract 来写。

不知道我们做的这种 Integration Test 算不算真正意义上的集成测试?另外貌似还有 Functional Test (感觉跟我们做的这两类有重合之处)?或者大家在实际项目 /side project 中有什么经验,也请不吝赐教。
2271 次点击
所在节点    程序员
2 条回复
beginor
2016-04-27 07:53:58 +08:00
看起来你需要的是 karma 和 Protractor ,看看 angularjs 指南的测试 https://docs.angularjs.org/guide
talent
2016-04-27 17:07:06 +08:00
@beginor 谢谢,不过我的问题是如何写测试代码(如是否需要访问真实数据),还有写怎样的测试代码( Unit ? Integration ? etc.),而 Karma 只是一个 runner , Protractor 的 e2e 测试我觉得跟我们现在做的 Intergration Test 差不多是一个意思。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/274622

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX