如何使用Mocha进行单个testing?
我使用摩卡来testing我的JavaScript的东西。 我的testing文件包含5个testing。 是否有可能运行一个特定的testing(或一组testing),而不是文件中的所有testing?
尝试使用摩卡的--grep选项 : 
  -g, --grep <pattern> only run tests matching <pattern> 
 您可以使用任何有效的JavaScript正则expression式作为<pattern> 。 例如,如果我们有test/mytest.js : 
 it('logs a', function(done) { console.log('a'); done(); }); it('logs b', function(done) { console.log('b'); done(); }); 
然后:
 $ mocha -g 'logs a' 
 运行一个testing。 请注意,这个grep跨所有describe(name, fn)和it(name, fn)调用的it(name, fn) 。 
 考虑使用命名空间的嵌套的describe()调用,以便于定位和select特定的集合。 
根据您的使用模式,您可能只喜欢使用。 我们使用TDD风格; 它看起来像这样:
 test.only('Date part of valid Partition Key', function (done) { //... } 
只有这个testing将从所有的文件/套件运行。
 如果您使用npm test (使用package.json脚本),请使用extra --将parameter passing给mocha 
 例如npm test -- --grep "my second test" 
  编辑 :看起来像 – --grep可以有点挑剔(可能取决于其他参数)。 您可以: 
修改package.json:
 "test:mocha": "mocha --grep \"<DealsList />\" .", 
 或者使用--bail这似乎不那么挑剔 
 npm test -- --bail 
您好上面的解决scheme没有为我工作。 运行单一testing的另一种方式是
 mocha test/cartcheckout/checkout.js -g 'Test Name Goes here' 
这有助于从单个文件和特定名称运行testing用例。
不知道为什么在使用npmtesting时grep方法不适用于我。 这工作虽然。 由于某种原因,我也需要指定testing文件夹。
npm test – test / sometest.js
运行单个testing-by文件名 –
 实际上,如果你从你的摩卡中删除glob模式(例如./test/**/*.spec.js ),你也可以通过文件名 (不只是通过“it() –  string-grepping”)来运行一个单一的摩卡testing.opts分别创build一个副本,不需要: 
 node_modules/.bin/mocha --opts test/mocha.single.opts test/self-test.spec.js 
这是我的mocha.single.opts(这只是不同的遗漏前面提到的glob行)
 --require ./test/common.js --compilers js:babel-core/register --reporter list --recursive 
  背景:虽然您可以覆盖opts-File(以--开头)的各种开关,但不能覆盖glob 。 那个链接也有一些解释。 
  提示:如果node_modules/.bin/mocha混淆你,使用本地包mocha。 你也可以写mocha ,如果你有全球安装。 
 如果你想要package.json的舒适度:仍然:从你的mocha.opts删除**/* -ish glob,将它们插入到这里,进行全部testing,把它们留给单个testing: 
 "test": "mocha ./test/**/*.spec.js", "test-watch": "mocha -R list -w ./test/**/*.spec.js", "test-single": "mocha $1", "test-single-watch": "mocha -R list -w $1", 
用法:
 > npm run test 
分别
 > npm run test-single -- test/ES6.self-test.spec.js 
  (介意-- !) 
 npm test <filepath> 
例如:
 npm test test/api/controllers/test.js 
这里“test / api / controllers / test.js”是文件path。
- 我如何正确地testing摩卡和柴的承诺?
- 如何从node.js中的一个“npm test”命令运行mocha和mocha-phantomjstesting?
- 如何解决“ReferenceError:期望未定义”的错误信息?
- `before()`和`beforeEach()`有什么区别?
- 在RSpec中如何说“any_instance”“should_receive”任意次数
- 清理容易的sinon存根
- 用Mochatestingjavascript – 我如何使用console.log来debuggingtesting?
- debugging摩卡testing的阻力最小的path是什么?
- 如何模拟一个ES6模块的import?