【问题标题】:How do you unit test Angular module bundling?你如何对 Angular 模块捆绑进行单元测试?
【发布时间】:2016-02-16 03:31:18
【问题描述】:

首先,我应该对以下代码进行单元测试吗?

angular.module('thirdPartyDeps', [
    'ngAnimate',
    'ngSanitize',
    'ui.router'
]);

angular.module('core', [
    'core.endpoints',
    'core.AppInitializer',
    'core.AppStatus'
]);

angular.module('myApp', [
    'app.config',
    'app.routes',
    'app.run',
    'thirdPartyDeps',
    'core',
]);

它所做的只是将模块捆绑到主 myApp 模块中。
如果答案是肯定的,那么你如何进行单元测试呢?

编辑:
我不想测试 angular.module 是否有效。
我在问测试一个正确的配置(例如所有模块都被加载)是否值得。虽然应用程序在运行时会因配置错误而失败,但单元测试会在构建时发现这个问题,因此在它到达需要中断的环境之前。

【问题讨论】:

    标签: angularjs unit-testing


    【解决方案1】:

    我会说,不,你不应该对这段代码进行单元测试,因为你所做的只是运行内置的 Angular 代码,它已经被 Angular 作者测试过(有人会假设)并且不是你的自己的代码。

    你唯一能做错的就是输入了一个不正确的模块名称,在这种情况下,Angular 会在你的实际页面上启动时抛出一个明确的nomod error,并且什么都不会起作用,所以很明显有些东西是'正确的以及如何解决它。

    单元/集成测试通常对测试业务逻辑和组件交互最有用,但两者都不是。

    【讨论】:

    • 感谢您的回答。我正在考虑对正确的配置进行单元测试,而不是 Angular 完成它的工作。因此,如果未定义所有模块,则构建将失败,而不是构建工作,然后看到应用程序无法启动。
    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 2010-09-07
    • 2017-06-10
    • 2018-10-09
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多