单元测试javascript代码样式

前端之家收集整理的这篇文章主要介绍了单元测试javascript代码样式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我开始使用 javascript单元测试(使用Jasmine).

我有单元测试C#代码的经验.但鉴于javascript是一种动态语言,我发现利用它并使用javascript的表达能力编写测试非常有用,例如:

describe('known plugins should be exported',function(){
    var plugins = ['bundle','less','sass','coffee','jsn','minifyCSS','minifyJS','forward','fingerprint'];

    plugins.forEach(function(plugin){
        it('should export plugin named ' + plugin,function(){
            expect(all[plugin]).toBeDefined();
        });
    });
});

至于做这种非传统的测试编写,我没有比做这种测试更进一步(带有非常相似的测试用例列表的数组)

所以我想我的问题是

编写这样的测试是否可以,或者我应该将自己约束到更“静态类型”的测试夹具?

解决方法

好问题!

是的,编写像这样的单元测试是完全没问题的.它甚至受到鼓励.

JavaScript是一种动态语言,可以让您轻松地模拟对象. DI和IoC非常容易实现.
一般来说,使用Jasmine(或我个人喜欢的Mocha)进行测试是一种愉快而有趣的体验.

值得一提的是,由于您使用的是动态语言,因此您需要进行静态类型语言测试.测试通常强制实施成员和方法,以及类型.

通常,没有接口来定义您的合同,您的测试会定义您的代码合同,因此看到测试执行此类验证(例如在您的代码中)并不常见,而您不会在C#中.

猜你在找的JavaScript相关文章