我不想为我想要测试的每个模块显式设置我的依赖树。例如,在我的主App模块中,我可能需要一个需要三个其他子模块的Base模块。尝试找出依赖关系树中每个文件的确切加载是一件痛苦的事情,我希望让应用程序自己找出依赖关系。
我还想在一个位置为每个测试加载我需要的所有常用文件。
因此,举例来说,我希望将以下内容变成“依赖关系”。文件:
'intern!bdd',
'intern/chai!expect',
'intern/order!vendor/src/sinonjs-built/lib/sinon',
'intern/order!vendor/src/angular/angular',
'intern/order!vendor/src/angular-mocks/angular-mocks',
'intern/order!node_modules/closure-library/closure/goog/base'
所以不要将它们添加到define:
define([
'intern!bdd',
'intern/chai!expect',
'intern/order!vendor/src/sinonjs-built/lib/sinon',
'intern/order!vendor/src/angular/angular',
'intern/order!vendor/src/angular-mocks/angular-mocks'
], function (bdd, expect) {
我想这样做:
define([
'dependencies'
], function (bdd, expect) {
然后根据最顶层的父级添加模块:
define([
'dependencies',
'path/to/app/module'
], function (bdd, expect) {
goog.require('App'); // gimme all the modules!
和App可能看起来像:
goog.require('AppName.Base');
goog.require('AppName.BaseLayout');
goog.require('AppName.Login');
goog.provide('AppName.App');
angular.module( 'App', ['ngRoute', 'Base', 'Login', 'BaseLayout'])
// etc etc
并将自动为所有其他模块构建依赖关系树,因此我不必将路径添加到我的测试文件中的一百万个文件中。
这样的东西有可能吗?这个问题清楚了吗?