简介
iced-test是一个用于测试CoffeeScript和JavaScript的库。它是在cucumber.js的基础上开发的,它允许你使用given/when/then风格的测试。它还提供了Chai.js断言库和Mocha测试框架的支持。
安装
使用npm安装iced-test的命令如下:
npm install iced-test --save-dev
使用
配置
在项目根目录下创建一个tests文件夹。在tests文件夹下创建一个features文件夹用于存放.feature文件(BDD测试用例),创建一个step_definitions文件夹用于存放.js或.coffee文件(定义.feature文件中的steps)。
在step_definitions文件夹下创建一个文件,例如test_steps.coffee,并引入iced-test库和需要的其它库:
iced_test = require 'iced-test' {expect} = require 'chai' module.exports = -> steps = -> return steps
在features文件夹下创建一个.feature文件,例如test.feature:
Feature: 测试 我们要使用given-when-then风格的测试用例来验证一些功能 Scenario: 验证加法 Given 我们有两个数字:a = 2 和 b = 3 When 我们把两个数字加在一起 Then 我们得到了数字 5
在.test/iced.js文件中添加配置:
-- -------------------- ---- ------- --------- - ------- ----------- ------------------- ------ ----- ---------- ----------------------------------- --------- ---------------------------- ----- -- ------- -- --------- -- ------ ----
其中:
debug
- 是否打印输出,可选项,默认为false。step_defs
- 存放.test文件的地方,可选项,默认为'./tests/step_definitions/*.coffee'。features
- 存放.feature文件的地方,可选项,默认为'./tests/features/*.feature'。tags
- 使用特定的tags运行测试用例,可选项,默认为''。format
- 使用特定的格式运行测试用例,可选项,默认为''。reporter
- 使用特定的reporter运行测试用例,可选项,默认为''。color
- 是否显示颜色,可选项,默认为true。
编写测试用例
在test_steps.coffee文件中实现Given/When/Then对应的函数:
-- -------------------- ---- ------- ----- - -- - - - - - - --- - ---- ------ ----- -- - - - - - - --- - ---- ------ ---------- - ----- - - - ------- --- -- -- --------------------------- --------------------------- ------------------------ ------------------------ ------ - - ------ - - ----- -------------- -- -------------------------------- -------------------------------- --- - ------ - ------ ----- -------- ------- -------- -- -------------------------------- ---------------------------- ------ -----
在test.feature文件中使用Given/When/Then构造测试用例:
Feature: 测试 我们要使用given-when-then风格的测试用例来验证一些功能 Scenario: 验证加法 Given 我们有两个数字:a = 2 和 b = 3 When 我们把两个数字加在一起 Then 我们得到了数字 5
运行测试用例
使用以下命令运行测试用例:
iced ./tests/iced.js
示例代码
请参见iced-test的示例代码。
结论
iced-test是一个非常实用的前端测试库,它支持CoffeeScript和JavaScript,并且使用given-when-then风格的测试模式。如果你使用了CoffeeScript进行项目开发,并对测试有较高的要求,我们强烈建议你使用iced-test库。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/57201