我用Mocha来测试我的JavaScript东西。我的测试文件包含5个测试。是否可以运行一个特定的测试(或一组测试),而不是文件中的所有测试?


当前回答

只在“describe”,“it”或“context”之前使用。我使用“$npm run test:unit”运行,它只执行带有.only的单元。

describe.only('get success', function() {
 // ...
});

it.only('should return 1', function() {
  // ...
});

其他回答

对于那些希望运行单个文件但又不能使其工作的人来说,对我有用的是,我需要将我的测试用例包装在如下所示的描述套件中,然后使用描述标题,例如。'My Test Description'作为模式。

describe('My Test Description', () => {
  it('test case 1', () => {
    // My test code
  })
  it('test case 2', () => {
  // My test code
  })
})

然后运行

纱线测试-g“我的测试描述”

or

运行我的测试说明

查看文档,我们看到简单地使用:

mocha test/myfile

将工作。你可以省略结尾的'.js'。

你可以试试"it.only"

it.only('Test one ', () => {
            
    expect(x).to.equal(y);
});

it('Test two ', () => {
            
    expect(x).to.equal(y);
});

在这种情况下,只执行第一个

不知道为什么grep方法在使用npm测试时不适合我。不过这是可行的。出于某种原因,我还需要指定测试文件夹。

npm test -- test/sometest.js

将所有测试合并到一个test.js文件中,并在package.json中添加一个脚本:

"scripts": {
  "api:test": "node_modules/.bin/mocha --timeout 10000 --recursive api_test/"
},

在你的测试目录下输入这个命令:

npm run api:test