Как выполнить исключение модульного теста в конструкторе класса TypeScript в JestJs - PullRequest
0 голосов
/ 15 января 2019

Я создаю какое-то приложение в NestJs, поэтому инфраструктура модульного тестирования по умолчанию - JestJs. Предположим, у меня есть следующий класс My.ts

export My {
    constructor(private myValue: number) {
       if (myValue ==== null) {
           throw new Error('myValue is null');
       }
    }
}

Я создал свой класс модульного тестирования My.spec.ts

import { My } from './My';

describe('My', () => {
    fit('Null my value throws', () => {
        expect(new My(null)).rejects.toThrowError('myValue is null');
    });
});

Я использую команду npm run test для запуска модульных тестов, вместо того, чтобы получить то, что я ожидал, у меня не получилось жаловаться на код в моем конструкторе класса My, что выдается исключение.

Как правильно написать код модульного теста в Jest для проверки логики исключений в конструкторе?

1 Ответ

0 голосов
/ 16 января 2019

После того, как я сделал свое исследование, следующие коды работают для меня

import { My } from './My';

describe('My', () => {
    fit('Null my value throws', () => {
        expect(() => {new My(null);}).toThrow('myValue is null');
    });
});
...