我应该对我的/ src文件或/ build文件进行单元测试吗?

时间:2015-07-15 15:53:17

标签: javascript unit-testing testing jasmine

在设置单元测试(在我的情况下,使用Jasmine for JavaScript)时,是否应测试未缩小/未经过验证的src文件?或者是否应该测试最终用户build文件(缩小和丑化)?

在我的grunt配置中:

jasmine: {
    src: ['src/file.js']
}

VS

jasmine: {
    src: ['build/file.min.js']
}

一方面,测试src文件很不错,因为它不会删除调试器,并且在需要时更容易检查。

另一方面,我可以尽可能多地测试src文件,但由于build文件已被更新,因此最终用户将无法运行。并且缩小了。

1 个答案:

答案 0 :(得分:7)

你应该像写完的那样对裸源文件进行单元测试。单元测试旨在紧密集中,为您提供即时和清晰的反馈。换句话说,如果您在修改源代码后测试您的功能 - 您不是孤立地测试您的代码;一旦你发现了一个bug,你就无法100%确定是什么导致了它 - 可能是在构建过程中出现了导致问题的问题 - 比如uglify任务。

我会将测试构建文件归类为集成或更高级别测试的一部分 - 除了测试功能之外,您还要检查应用程序的构建方式:文件如何缩小,复制,连接等。

一般来说,您应该瞄准以下金字塔:

enter image description here

introduced in this Google Test Automation blogpost

  

另一方面,我可以尽可能多地测试src文件,但确实如此   不像最终用户将要运行的那样,因为构建文件是   uglified和minified。

我认为这属于端到端测试类别 - 模仿真实用户,通过验收测试场景,用户故事。