资讯专栏INFORMATION COLUMN

为你的JavaScript代码写测试

FleyX / 432人阅读

摘要:下面会讲解如何使用以及,来为我们的代码编写测试。我们不妨先选择前者综上所述,我们要使用组合来为我们的代码写测试。他们分别会在每个测试的之前和之后执行一次。副本最后还有一个问题是如何结合来为我们的代码编写测试。

下面会讲解如何使用 karama, jasmine 以及 webpack,来为我们的 ES6 代码编写测试。
(最后我写了一个可用的例子,请查看 ES2015-Starter-Kit )

艰难的抉择

首先,我们要写测试,用什么写?自己写一个函数,还是使用某个测试框架?

看起来,后者可观一点。

然后,有哪些测试框架可以选择?选哪个?

于是,我们 google 之,找到 stackoverflow 的一个问题 JavaScript unit test tools for TDD。

看了问题回答,很纠结,太多了不知道选择哪个!最后,我决定选择 Karma, Jasmine 和 Mocha 这三者之一,根据 Star 数量以及维护团队。

那么,Karma, Jasmine 以及 Mocha 这三者之间哪个好,有什么不同?

于是,我们不妨 google,找到了 What are the differences between mocha, chai, karma, jasmine, should.js, etc. testing frameworks? 这个问题。

从回答中我们可以知道:Karma 只是一个 test runner,他负责提供 environment。而 JasmineMocha 是编写测试脚本的框架。也就是说,我们可以选择 Karma + Jasmine或者 Karma + Mocha。我们不妨先选择前者~

综上所述,我们要使用 Karma + Jasmine 组合来为我们的 JavaScript 代码写测试

战斗的号角

接下来,我们根据文档(karma - Installation, karma - Configuration 和 Jasmine - introduction),很容易就能搞起来。

在这里我想说的是:当编写多个测试脚本的时候,你也许可以使用 beforeEachafterEach。他们分别会在每个测试(spec)的之前和之后执行一次。

副本

最后还有一个问题是如何结合 Webpack 来为我们的ES6代码编写测试。

我不得不承认,这是一个很不错的问题。然而,我也通过google找到了答案。

详细教程请看 VueJS 的 Testing 文档。

战斗的荣耀

你可以为你的仓库弄一个亮晶晶的 travis ci status image:

详细设置请查看 travis docs以及这篇教程 Testing JavaScript with Jasmine, Travis, and Karma。

最后,如果还是不懂的话,可以查看我写的一个例子:ES2015-Starter-Kit

Resources

JavaScript unit test tools for TDD

What are the differences between mocha, chai, karma, jasmine, should.js, etc. testing frameworks?

vuejs - Testing

Testing JavaScript with Jasmine, Travis, and Karma

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78698.html

相关文章

  • 利用guardian你的api应用测试

    摘要:要写出一个健壮的程序必须要有测试,测试可以保证上线的代码功能符合预期,防止上线后出现莫须有的损失。根据这样的想法,于是编写了一个测试框架。的使用非常简单,你只需要把你的测试案例信息写成固定的格式,包括请求信息,预期响应信息,预期的数据信息。 要写出一个健壮的程序必须要有测试,测试可以保证上线的代码功能符合预期,防止上线后出现莫须有的损失。对于我们一口气写完的api,匆忙上线往往会导致很...

    JellyBool 评论0 收藏0
  • 你的第一个AngularJS应用--教程二:基架、建立和测试的工具

    摘要:包括脚手架依赖管理准备测试包括单元测试和端到端测试。我们用来开发的工具有。是一个工具集,包含个核心组件,,和脚手架工具。当你正在做自己的一个项目时,使用哪些模块将取决于你自己。这个目录当然是测试文件。 介绍 有很多可用的工具可以帮助你开发AngularJS 应用,那些非常复杂的框架不在我的讨论范围之中,这也是我开始这系列教程的原因。 在第一部分,我们掌握了AngularJS框架的基本...

    k00baa 评论0 收藏0
  • 前端为什么要学习 Selenium

    摘要:你是对的,因为你需要学习。如果你有这些疑问,那么请不要担心,因为在本文中,我将给出个令人信服的理由,来说明学习的必要性。用于家庭用途的操作系统足以支撑进行测试。由于的使用量持续增长,使对测试员的需求也在成比例增长。 翻译:疯狂的技术宅原文:https://www.edureka.co/blog/1... 本文首发微信公众号:前端先锋欢迎关注,每天都给你推送新鲜的前端技术文章 如果...

    CodeSheep 评论0 收藏0
  • 现代 JavaScript 代码

    摘要:为什么呢函数式编程能使代码更具可预测性,确定性,更安全,一旦习惯这种方式,代码会更容易维护。第二个建议创建局部函数即使是在已经存在的函数中来说明代码的功能,不需要使用注释。注意,三个局部函数不修改它们的执行上下文。 原文作者:Sébastien Castiel 原文链接:Writing modern JavaScript code 说点什么:这是一篇很朴素的文章,讲的道理都懂,但实际...

    shery 评论0 收藏0
  • 快速构建一个测试web项目

    摘要:用初始化一下,就会为你创建一个,用来管理你的依赖包,命令配置。还是不清除的可以去我的上看一下,很水的一个项目,别喷我。 单纯的运行一段js逻辑的话就不需要构建测试项目,直接写个js,node命令行运行一下就可以了,但是往往阅读一段他人的源码想要自己测试一下就没办法这样子,因为别人会依赖模块,会操作浏览器dom等等,所以自己写一个测试小demo有时候就很有用处。 nodejs里面又没有什...

    baukh789 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<