Постфикс d - это стандартное сокращение от definition, то есть - юнит определений. Он автоматически игнорируется при сборке js, используется только препроцессором и автоматическим публикуется при подключении сборки содержащей его.
Юниты содержащие только типы и контракты, должны именоваться с постфиксом .d.
В Karma\Jasmine есть варианы для игнорирования выборочных тестов - xit, xdescribe. В этом посте - разберусь, какие есть варианты для этого - в Jest.
Использование .skip для игнорирования только одного теста
В данном случае - запустится только один тест - первый, так как второй тест - будет пропущен, у него стоит test.skip:
describe('my suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(2);});// Этот тест будет пропущенtest.skip('my only true test',()=>{expect(1+1).toEqual(1);});});
В Jest для test.skip есть алиас по аналогии с Jasmine - xit; то есть по идее - можно написать так:
describe('my suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(2);});// Этот тест будет пропущенxit('my only true test',()=>{expect(1+1).toEqual(1);});});
Использование .skip для пропуска нескольких тестов
В данном случае - пропустится несколько тестов - первый и второй; третий - будет запущен:
describe('my suite',()=>{// этот тест --> пропуститсяtest.skip('one of my .only test',()=>{expect(1+1).toEqual(2);});// этот тест --> пропуститсяtest.skip('other of my .only test',()=>{expect(1+2).toEqual(3);});test('my only true test',()=>{expect(1+1).toEqual(1);});});
В Jest для test.skip есть алиас по аналогии с Jasmine - xit; то есть по идее - можно написать так:
describe('my suite',()=>{// этот тест --> пропуститсяxit('one of my .only test',()=>{expect(1+1).toEqual(2);});// этот тест --> пропуститсяxit('other of my .only test',()=>{expect(1+2).toEqual(3);});test('my only true test',()=>{expect(1+1).toEqual(1);});});
Для игнорирования набора тестов при запуске - также можно использовать .skip. В данном случае - запустятся тесты только из первого набора (‘first suite’), для которого установлено describe; второй набор тестов (‘second suite’) - будет пропущен, так как у него установлен describe.skip:
describe('first suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});// эти тесты --> не запустятсяdescribe.skip('second suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});
У .skip есть - алиас xdescribe; то есть, в Jest можно (по идее) написать по аналогии с Jasmine:
describe('first suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});// эти тесты --> не запустятсяxdescribe('second suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});
Использование .skip для игнорирования нескольких наборов тестов
Аналогично предыдущему вварианту, можно указать .skip для пропуска нескольких наборов тестов; в данном случае - будут запущены только два первых набора тестов:
// эти тесты --> запустятсяdescribe('my suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});// эти тесты --> запустятсяdescribe('other suite',()=>{test('other of my .only test',()=>{expect(1+2).toEqual(3);});});// эти тесты --> будут пропущеныdescribe.skip('skipped other suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});
У .skip в Jest есть - алиас xdescribe; то есть, в Jest можно (по идее) написать по аналогии с Jasmine:
// эти тесты --> запустятсяdescribe('my suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});// эти тесты --> запустятсяdescribe('other suite',()=>{test('other of my .only test',()=>{expect(1+2).toEqual(3);});});// эти тесты --> будут пропущеныxdescribe('skipped other suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});
В Karma\Jasmine есть варианы для запуска выборочных тестов - fit, fdescribe. В этом посте - разберусь, какие есть варианты для этого - в Jest.
Использование .only для запуска только одного теста
В данном случае - запустится только один тест - первый:
describe('my suite',()=>{test.only('my only true test',()=>{expect(1+1).toEqual(2);});// этот тест --> не запуститсяtest('my only true test',()=>{expect(1+1).toEqual(1);});});
В Jest для test.only есть алиас по аналогии с Jasmine - fit; то есть по идее - можно написать так:
describe('my suite',()=>{fit('my only true test',()=>{expect(1+1).toEqual(2);});// этот тест --> не запуститсяtest('my only true test',()=>{expect(1+1).toEqual(1);});});
В данном случае - запустится несколько тестов - первый и второй; третий - будет пропущен:
describe('my suite',()=>{test.only('one of my .only test',()=>{expect(1+1).toEqual(2);});test.only('other of my .only test',()=>{expect(1+2).toEqual(3);});// этот тест --> не запуститсяtest('my only true test',()=>{expect(1+1).toEqual(1);});});
В Jest для test.only есть алиас по аналогии с Jasmine - fit; то есть по идее - можно написать так:
describe('my suite',()=>{fit('one of my .only test',()=>{expect(1+1).toEqual(2);});fit('other of my .only test',()=>{expect(1+2).toEqual(3);});// этот тест --> не запуститсяtest('my only true test',()=>{expect(1+1).toEqual(1);});});
Для выбора набора тестов для запуска - также можно использовать .only. В данном случае - запустятся тесты только из первого набора (‘first suite’), для которого установлено describe.only; второй набор тестов (‘second suite’) - будет пропущен:
describe.only('first suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});// эти тесты --> не запустятсяdescribe('second suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});
У .only есть - алиас fdescribe; то есть, в Jest можно (по идее) написать по аналогии с Jasmine:
fdescribe('first suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});// эти тесты --> не запустятсяdescribe('second suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});
Использование .only для запуска нескольких наборов тестов
Аналогично предыдущему вварианту, можно указать .only для запуска нескольких наборов тестов; в данном случае - будут запущены только два первых набора тестов:
describe.only('my suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});describe.only('other suite',()=>{test('other of my .only test',()=>{expect(1+2).toEqual(3);});});// эти тесты --> не запустятсяdescribe('skipped other suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});
У .only есть - алиас fdescribe; то есть, в Jest можно (по идее) написать по аналогии с Jasmine:
fdescribe('my suite',()=>{test('one of my .only test',()=>{expect(1+1).toEqual(2);});});fdescribe('other suite',()=>{test('other of my .only test',()=>{expect(1+2).toEqual(3);});});// эти тесты --> не запустятсяdescribe('skipped other suite',()=>{test('my only true test',()=>{expect(1+1).toEqual(1);});});