下面会解说怎样运用 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。而 Jasmine 和 Mocha 是编写测试剧本的框架。也就是说,我们能够挑选 Karma + Jasmine或许 Karma + Mocha。我们无妨先挑选前者~
综上所述,我们要运用 Karma + Jasmine 组合来为我们的 JavaScript 代码写测试。
战役的军号
接下来,我们依据文档(karma – Installation, karma – Configuration 和 Jasmine – introduction),很轻易就可以搞起来。
在这里我想说的是:当编写多个测试剧本的时刻,你或许能够运用 beforeEach
和 afterEach
。他们离别会在每一个测试(spec)的之前和以后实行一次。
副本
末了另有一个题目是怎样连系 Webpack 来为我们的ES6代码编写测试。
我不能不认可,这是一个很不错的题目。但是,我也经由过程google找到了答案。
细致教程请看 VueJS 的 Testing 文档。
战役的光荣
你能够为你的堆栈弄一个亮晶晶的 travis ci status image:
细致设置请检察 travis docs以及这篇教程 Testing JavaScript with Jasmine, Travis, and Karma。
末了,假如照样不懂的话,能够检察我写的一个例子:ES2015-Starter-Kit