Что касается меня, я не могу понять, на что здесь жалуется Стамбул.У меня есть одна ветвь, которая обнаружена в этом файле.Вот соответствующая часть рассматриваемого компонента (я убрал несвязанные биты, чтобы избежать шума):
export class TextComponent {
value: string;
_field: FieldModel;
private _record: any;
@Input()
set field(field: FieldModel) {
this._field = field;
this.cacheValue();
}
@Input()
set record(record: any) {
this._record = record;
this.cacheValue();
}
cacheValue() {
this.value = this.getValue();
}
getValue(): string {
if (!this._record || !this._field) {
return '';
}
return this._field.name in this._record ? this._record[this._field.name] : '';
}
}
И пример теста:
it('should store the record value', () => {
component.record = {
first: "Nancy",
last: "Sue",
};
expect(component.value).toBe('');
component.field = {name: 'first'};
expect(component.value).toBe('Nancy');
});
Мой охват кода составляет 100%кроме одной недостающей ветви.Вот что показывает отчет о покрытии кода:
![enter image description here](https://i.stack.imgur.com/3TKp9.png)
Я точно знаю, что маленькая желтая подсветка - это ветка, которую Стамбул не считает покрытой,Тем не менее, я понятия не имею, на что это действительно жалуется, и поэтому я не знаю, как написать тест, чтобы покрыть это.Образец теста, который я включил, является основным тестом для этой функции.Очевидно, что он в некотором роде несовершенен, но я не понимаю, каким образом, и этот небольшой акцент не очень информативен.
Angular 7.1.0, машинописный текст 3.1.6