我正在使用 Angular 8。我使用 karma-viewport 插件来模拟屏幕尺寸,它对我来说效果很好。
该软件包可在https://www.npmjs.com/package/karma-viewport 获得。
在 karma.conf.js 中,我必须将视口添加到框架并需要插件中的包。
我的 karma.conf.js:
frameworks: ['jasmine', '@angular-devkit/build-angular', 'viewport'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-junit-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
require('karma-viewport')
],
在我的 .spec.ts 文件中,我添加了 viewport var 声明:
declare const viewport: any;
在“it”函数中更改了大小,调用了我的方法,根据屏幕大小更改变量并检查结果。在我的情况下,当屏幕尺寸小于 700px 时,组件的属性宽度应为 240:
it('test xyz', () => {
viewport.set(320, 240);
component.changeHeightByScreenSize();
expect(component.width).toEqual(240);
});