Sure, you can add file globbing patterns to a CLI arg to run a single JavaScript test, or group of tests, but it’s not super convenient and often requires a trip to your README to remember how to do it. Here’s a quicker way.
it.only()
Instead of hunting for the exact CLI params and globs, just add .only to your it() as shown below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
describe('api', () => { // Run only the following test case. it.only('getFooterData() should return a Promise which resolves successfully', () => { const promise = api.getFooterData(); return Promise.all([ expect(promise).to.eventually.be.fulfilled, expect(promise).to.eventually.be.an('object') ]); }); it('getHeaderData() should return a Promise which resolves successfully', () => { const promise = api.getHeaderData(); return Promise.all([ expect(promise).to.eventually.be.fulfilled, expect(promise).to.eventually.be.an('object') ]); }); }); |
Take note: If you use .only() on more than one it() , it will only run the last test case.
describe.only()
And it works with a single group of tests, as well! Just add .only to your describe() as shown below:
1 2 3 4 5 6 7 8 9 10 |
// Run only the following group of test cases. describe.only('api', () => { it('getFooterData() should ...', () => { // ... }); it('getHeaderData() should ...', () => { // ... }); }); |
Wrap up
There you have it! Single test groups and/or cases without screwing with CLI parameters.
Be sure to remove all instances of .only from your describe() and it() statements before committing to a repo, or you risk having your CI/CD pipeline run only a subset of your tests!