Tho*_*ggi 18 testing mocha.js node.js jestjs
我有兴趣创建完整的模拟单元测试,以及检查某些异步操作是否已正确返回的集成测试.我想要一个用于unit测试的命令和一个用于integration测试的命令,我可以在我的CI工具中单独运行它们.最好的方法是什么?像mocha和jest这样的工具似乎只关注一种做事方式.
我看到的唯一选择是使用mocha并在目录中有两个文件夹.
就像是:
__unit____integration__然后我需要一些方法告诉mocha运行目录__unit__中的所有测试src,另一个告诉它运行所有__integration__测试.
思考?
Mat*_*att 40
Mocha支持目录,文件通配和测试名称grepping,可用于创建测试的"组".
test/unit/whatever_spec.js
test/int/whatever_spec.js
然后对js目录中的所有文件运行测试
mocha test/unit
mocha test/int
mocha test/unit test/int
test/unit_whatever_spec.js
test/int_whatever_spec.js
然后用特定文件运行mocha
mocha test/unit_*_spec.js
mocha test/int_*_spec.js
mocha
在mocha中创建描述测试类型和类/主题的外部块.
describe('Unit::Whatever', function(){})
describe('Integration::Whatever', function(){})
然后使用mochas"grep"参数运行命名块 -g
mocha -g ^Unit::
mocha -g ^Integration::
mocha
使用测试名称时保持文件或目录分离仍然很有用,这样您就可以轻松区分失败测试的源文件.
将每个测试命令存储在package.json scripts部分中,这样可以很容易地运行类似yarn test:int或者npm run test:int.
{
  scripts: {
    "test": "mocha test/unit test/int",
    "test:unit": "mocha test/unit",
    "test:int": "mocha test/int"
  }
}
| 归档时间: | 
 | 
| 查看次数: | 4917 次 | 
| 最近记录: |