我有一个简单的功能,我想测试,但明显的结果是没有发生。。。
我的函数是如何工作的(实际上它确实工作,只是没有正确测试)
当我运行所示的测试时,我收到错误:
预期默认值等于hare失败
我的组件
const state = [
{name: 'failure'}
];
isStatus(current): string {
for (const status of this.state) {
if (status.name === current) {
return current;
}
}
return 'default';
}
我的测试
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [EventComponent, ConfirmationComponent],
imports: [ReactiveFormsModule, FormsModule],
providers: []
});
fixture = TestBed.createComponent(EventComponent);
component = fixture.componentInstance;
component.ngOnInit();
}));
it('should return current status if it is part of exceptional statuses', () => {
const returned = component.isState('failure');
expect(returned).toEqual('failure');
});
我认为在循环中使用const
是问题所在。在这里应该使用let
,因为使用const
可以防止在循环过程中重新分配值。
isStatusExceptional(currentStatus): string {
for (let status of this.exceptionalRaceStatuses) {
if (status.name === currentStatus) {
return currentStatus;
}
}
return 'default';
}
Typescript文档似乎同意这一点。
在这种情况下,尽量不要使用for of循环。您可以使用数组的some()方法重新编写组件,并创建一个纯函数。
因此,与其说:
isStatusExceptional(currentStatus): string {
for (const status of this.exceptionalRaceStatuses) {
if (status.name === currentStatus) {
return currentStatus;
}
}
return 'default';
}
写下:
isStatusExceptional(current, erc = this.exceptionalRaceStatuses): string {
return erc.some(item => item.name === current) ? current : 'default';
}
我有一个带有两个Selenium服务的Docker撰写文件: 我有另一个服务设置与量角器安装。 这是我的量角器配置文件: 这可以成功运行,但如果我将浏览器名称更改为firefox,将selenium地址更改为firefox容器,测试就会失败。 1) 选中时,includes coachcard指令应显示coachcard类型面板 消息:失败:在页面上找不到角度http://build-tool:8
我找不到Java的自包含UUID5实现,所以我试着在下面滚动这个解决方案。它通过了我的一些单元测试,但是没有通过其他的。这里面有什么明显的漏洞吗?
我正在使用Jenkins进行自动化测试。我的作业运行windows可执行批处理每天早上8:00归档,并向所有定义的收件人发送和通知。我有大约15个测试用例,都通过了。TestNG结果如下: 我交叉检查了詹金的所有配置。一切都如预期的那样,我的构建仍然失败,我每次都会得到这个报告: '控制台输出 由工作区F:\Automation\MovingWalls中的计时器构建启动未触发任何电子邮件。[Mov
问题内容: 今天,我实验室中的一个敏感操作完全出错。电子显微镜上的执行器越过边界,经过一连串的事件,我损失了1200万美元的设备。我将有故障的模块中的超过40K行缩小为: 我得到的一些输出示例: 由于这里没有任何浮点算法,而且我们都知道有符号整数在Java中的溢出情况下表现良好,因此我认为这段代码没有错。但是,尽管输出表明程序未达到退出条件,但程序仍达到了退出条件(是否达到 和 未达到?)。为什么
今天我实验室的一个敏感操作完全出了问题。一台电子显微镜上的一个致动器越过了它的边界,在一系列事件之后,我损失了1200万美元的设备。我将故障模块中的40K行缩小到以下范围: 我得到的一些输出示例: 因为这里没有任何浮点运算,而且我们都知道有符号整数在Java溢出时表现良好,所以我认为这段代码没有问题。然而,尽管输出表明程序没有达到退出条件,但它却达到了退出条件(既达到了又没有达到?)。为什么? 我