我无法测试和自动化条件匹配媒体语句。我想创建一个单元测试,可以测试许多宽度(在这种情况下桌面和平板电脑的宽度)。
我可以为每个设备/媒体查询编写一个测试(例如this.setForTablet())但是如何测试下面的迷你控制器?
是否有实用的方法来测试以下语句?重构我的代码以避免如下所述的语句是否是更好的做法,如果是这样的话?
if ( window.matchMedia('(max-width: 768px)').matches ) { // View <= tablet
this.setForTablet();
} else { // View > tablet
this.setForDesktop();
}
答案 0 :(得分:0)
重构并返回。
重构迷你控制器以接受不同的输入/宽度并返回每种情况的已知/预期值。这些将是您的测试断言。
应该期望matchMedia按预期工作,并仅测试用户/编码器自己的代码。