Is there a way to run ng test
for a single file instead of for the entire test suite? Ideally, I'd like to get the quickest possible feedback loop when I'm editing a file, but karma
executes the whole suite on each save, which is a bit slow when you build up a big enough test suite.
This is different from How to execute only one test spec with angular-cli in that that question is about running an individual spec. This is about running an individual file. The solution involves the same Jasmine spec feature, but the nature of the question is slightly different.
I discovered that Jasmine allows you to prefix
describe
andit
methods with anf
(for focus):fdescribe
andfit
. If you use either of these, Karma will only run the relevant tests. To focus the current file, you can just take the top leveldescribe
and change it tofdescribe
. If you use Jasmine prior to version 2.1, the focusing keywords are:iit
andddescribe
.This example code runs just the first test:
Here is the Jasmine documentation on Focusing Specs, and here is a related SO article that provides additional thoughtful solutions.