gpt4 book ai didi

三元条件的 Angular 单元测试部分工作

转载 作者:行者123 更新时间:2023-11-28 21:36:01 25 4
gpt4 key购买 nike

我必须在下面为三元函数编写一个测试用例。对于 true 条件,我的测试用例按预期运行,对于 false,它没有按预期工作。我不确定为什么我的逻辑不正确。我需要进行哪些更改才能使其发挥作用?

  public getData(ball: any): string {
return ball.data === 'N/A'
? `<div class="noad"><p class="percentage-value-template">&#8211; &#8211;</p></div>`
: `<div class="noad"><p class="days">${ball.data}</p></div>`;
}

对于 true 条件,下面的测试用例工作正常


it('should return empty if data is N/A', () => {
comp = 'N/A';
expect(mask.getData(comp)).toBe('');
});

如果条件为假,则给出错误


it('should return empty if data is available', () => {
comp1 = 'ABC';
expect(mask.getData(comp1)).toBe(comp1);
});

最佳答案

几个问题...您应该使用 toEqual() 因为您正在测试字符串的值。其次,您希望 ball 有一个名为 data 的属性,但您传递的是一个简单的字符串:

it('should return empty if data is N/A', () => {
const ball = { data: 'N/A' }; // Pass an object with a data property
expect(mask.getData(ball)).toEqual('');
});

此外,您的函数永远不会返回“空字符串”——它总是会返回一个值,只是不同而已。

对于等于“N/A”的数据,您将收到:

<div class="noad"><p class="percentage-value-template">&#8211; &#8211;</p></div>

对于不等于“N/A”的数据(例如TEST),您将收到:

<div class="noad"><p class="days">**TEST**</p></div>

关于三元条件的 Angular 单元测试部分工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58740485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com