Я хочу, чтобы модуль и e2e максимально тестировали мои приложения, и моя цель - охват 101%. Сейчас проблема с моей установкой заключается в том, что декоратор @Column из typeorm использует функцию стрелки для установки значения по умолчанию, такого как текущая метка времени при обновлении базы данных. Эта функция стрелки не покрыта тестовым шутом. Сообщение: statement not covered
Я запускаю покрытие кода с помощью: jest --coverage
. Мои версии:
"jest": "^24.9.0",
"typeorm": "^0.2.20"
Настройка Jest в package.json:
{
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"coverageDirectory": "../build/coverage",
"testEnvironment": "node",
"coverageThreshold": {
"global": {
"branches": 80,
"functions": 80,
"lines": 80,
"statements": -10
}
}
},
}
Моя сущность выглядит так:
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class Role {
@PrimaryGeneratedColumn()
id: number;
@Column()
tenantId: number;
@Column({ type: 'timestamp', update: false, default: () => 'CURRENT_TIMESTAMP()' })
createdAt: Date;
@Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP()', onUpdate: 'CURRENT_TIMESTAMP()' })
updatedAt: Date;
}
Покрытие для этой сущности:
(чтобы опубликовать изображение мне нужно 10 репутации -.-): https://i.ibb.co/FYQgstP/Screenshot-2019-11-07-11-46-45.png