Постфикс d - это стандартное сокращение от definition, то есть - юнит определений. Он автоматически игнорируется при сборке js, используется только препроцессором и автоматическим публикуется при подключении сборки содержащей его.

Юниты содержащие только типы и контракты, должны именоваться с постфиксом .d.


Команда dd для записи файла ISO на USB-накопитель:

sudo dd if=ubuntu-20.04.1-live-server-amd64.iso of=/dev/sda bs=1M status=progress

Пример парсинга responsa’а в интерсепторе Angular:

intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
    return next.handle(this.setHeader(request)).pipe(
        map((response: HttpEvent<unknown>) => {
            if (request.url === '/api/v1/sdi/page' && response instanceof HttpResponse) {
                const body = JSON.parse(JSON.stringify(response.body));
                body.layout.blocks[0].components[2].columns[2].type = 'phone';
                body.layout.blocks[0].components[2].filter.static[3].type = 'phone';
                response = response.clone({ body });
                console.log('response >>>', response);
        }
        return response;
    }));
}

В 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);
  });
});

Ссылка из официальной документации - Test.Skip

Использование .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);
  });
});

Ссылка из официальной документации - Test.Skip

Использование .skip для пропуска набора тестов

Для игнорирования набора тестов при запуске - также можно использовать .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);
  });
});

Ссылка из официальной документации - Describe.Skip

Использование .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);
  });
});

Ссылка из официальной документации - Describe.Skip


В 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);
  });
});

Ссылка из официальной документации - Test.Only

Использование .only для запуска нескольких тестов

В данном случае - запустится несколько тестов - первый и второй; третий - будет пропущен:

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);
  });
});

Ссылка из официальной документации - Test.Only

Использование .only для запуска набора тестов

Для выбора набора тестов для запуска - также можно использовать .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);
  });
});

Ссылка из официальной документации - Describe.Only

Использование .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);
  });
});

Ссылка из официальной документации - Describe.Only