我用Mocha来测试我的JavaScript东西。我的测试文件包含5个测试。是否可以运行一个特定的测试(或一组测试),而不是文件中的所有测试?
当前回答
嗨,上面的解决方案对我不起作用。 运行单个测试的另一种方法是
mocha test/cartcheckout/checkout.js -g 'Test Name Goes here'
这有助于从单个文件和特定名称运行测试用例。
其他回答
如果你使用npm测试(使用包。Json脚本)使用一个额外的——通过mocha传递参数
例如NPM test -- --grep“my second test”
编辑:看起来——grep可能有点麻烦(可能取决于其他参数)。您可以:
修改package.json:
"test:mocha": "mocha --grep \"<DealsList />\" .",
或者使用保释金,这似乎不那么麻烦
npm test -- --bail
根据您的使用模式,您可能只喜欢使用。我们使用TDD风格;它是这样的:
test.only('Date part of valid Partition Key', function (done) {
//...
}
只有这个测试将从所有文件/套件中运行。
对于那些希望运行单个文件但又不能使其工作的人来说,对我有用的是,我需要将我的测试用例包装在如下所示的描述套件中,然后使用描述标题,例如。'My Test Description'作为模式。
describe('My Test Description', () => {
it('test case 1', () => {
// My test code
})
it('test case 2', () => {
// My test code
})
})
然后运行
纱线测试-g“我的测试描述”
or
运行我的测试说明
将所有测试合并到一个test.js文件中,并在package.json中添加一个脚本:
"scripts": {
"api:test": "node_modules/.bin/mocha --timeout 10000 --recursive api_test/"
},
在你的测试目录下输入这个命令:
npm run api:test
使用Mocha的——fgrep(或者-f)你可以选择包含字符串的测试,例如:
mocha -f 'my test x'
将在it()、describe()或context()块中运行包含我的测试x的所有测试。