单元测试响应Javascript,Qunit和matchMedia

时间:2012-07-23 21:29:19

标签: javascript unit-testing media-queries qunit

我无法测试和自动化条件匹配媒体语句。我想创建一个单元测试,可以测试许多宽度(在这种情况下桌面和平板电脑的宽度)。

我可以为每个设备/媒体查询编写一个测试(例如this.setForTablet())但是如何测试下面的迷你控制器?

是否有实用的方法来测试以下语句?重构我的代码以避免如下所述的语句是否是更好的做法,如果是这样的话?

        if ( window.matchMedia('(max-width: 768px)').matches  ) { // View <= tablet
            this.setForTablet();
        } else { // View > tablet
            this.setForDesktop();
        }

1 个答案:

答案 0 :(得分:0)

重构并返回。

重构迷你控制器以接受不同的输入/宽度并返回每种情况的已知/预期值。这些将是您的测试断言。

应该期望matchMedia按预期工作,并仅测试用户/编码器自己的代码。