Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在升级后测试Jasmine中的window.scrollBy()方法时遇到Lint错误(预期有2个参数,但得到1个)_Angular_Typescript_Jasmine_Karma Jasmine - Fatal编程技术网

Angular 在升级后测试Jasmine中的window.scrollBy()方法时遇到Lint错误(预期有2个参数,但得到1个)

Angular 在升级后测试Jasmine中的window.scrollBy()方法时遇到Lint错误(预期有2个参数,但得到1个),angular,typescript,jasmine,karma-jasmine,Angular,Typescript,Jasmine,Karma Jasmine,在升级到Angular 11的同时,其他几个软件包(如jasmine core)也进行了升级。因此,在运行“npm run test”命令时会导致各种lint问题,因为它们使“类型”更加严格 其中一个问题是window.scrollBy()方法。根据类型定义文件(lib.dom.ts),它可以有2个重载实现,如下所示- scrollBy(options?: ScrollToOptions): void; scrollBy(x: number, y: number): void; 但是在编写单元

在升级到Angular 11的同时,其他几个软件包(如jasmine core)也进行了升级。因此,在运行“npm run test”命令时会导致各种lint问题,因为它们使“类型”更加严格

其中一个问题是window.scrollBy()方法。根据类型定义文件(lib.dom.ts),它可以有2个重载实现,如下所示-

scrollBy(options?: ScrollToOptions): void;
scrollBy(x: number, y: number): void;
但是在编写单元测试用例时,它给出了Lint错误,如下所示-

it('应该向下滚动10个单位',fakeAsync(()=>{
服务。向下滚动(10);
期望(window.scrollBy).已被调用({
前10名,
左:0,,
行为:“平滑”,
});
}));

看起来它只考虑了第二个重载实现,而不是第一个我们也可以只传递参数的实现,即“options”。尽管测试用例已正确通过

我在下面的Github链接上创建了一个最小复制示例。如果需要其他信息,请告诉我。任何帮助或指点都将不胜感激


这方面运气好吗?还没有。目前,我正在使用just to havebeencalled()而不是toHaveBeenCalledWith()作为解决方法:(