我正在寻找使用RequireJS作为我的下一个大JS项目,但是我很难想出如何在无头测试环境中测试它.我是新来的RequireJS和测试驱动的编码方式,所以任何东西都是友好的将是伟大的.
解决方法
好的,这是我的想法.您应该只为自己的代码编写测试,而不是第三方代码,因此当库正在正常工作时,不需要测试RequireJS. (他们有自己的测试,你应该信任.)
所以你应该能够在测试中假设RequireJS正在工作.就像你认为parseInt的工作,setTimeout工程,Math.min工作:这些开发人员有自己的测试,你不需要写更多.
如果它不工作(很不太可能),或者如果您使用不正确(稍微更有可能),那么您的测试应该灾难性地失败:例如,您将最终对不存在的对象调用方法.
考虑到这一点,您应该对单个的RequireJS模块进行单元测试.为了做到这一点,每个测试夹具应该被封装在一个需要其系统测试模块的模块中,或者测试应该是异步的,并且作为其中的一部分,它们应该要求系统级的测试模块.再次,假设你得到正确的模块:如果没有,即如果你滥用RequireJS,测试将会灾难性地失败.