相关疑难解决方法(0)

AngularJS设计指南

以前当我写角度应用程序时,我曾经做过

angular.module('ngApp', ['all', 'required', 'ng*', 'dependencies'])
Run Code Online (Sandbox Code Playgroud)

在我app.js和那里面services/controllers,我可以简单地这样做:

angular.module('ngApp')
Run Code Online (Sandbox Code Playgroud)

我有一个回购来证明这一点.

但后来我看到了angular-seed/,实施的方式是,

controllers/

angular.module('appControllers', ['dependencies'])...
Run Code Online (Sandbox Code Playgroud)

services/

angular.module('appServices', ['dependencies'])..
Run Code Online (Sandbox Code Playgroud)

在app.js

angular.module('ngApp', ['ng*', 'appControllers', 'appSrvices'])..
Run Code Online (Sandbox Code Playgroud)

我没有设计问题,事实上我认为它很好,因为evrything是依赖注入和模块化.

我有一个情况我有一个services/movie.js

angular.module('myAppServices', ['ngResource']).factory(..)
Run Code Online (Sandbox Code Playgroud)

services/config.js

angular.module('myAppServices').factory(..)
Run Code Online (Sandbox Code Playgroud)

但是在用业力和茉莉花编写测试时.在karma.conf.js中,

我有 files: ['usual', 'bower_components/angular-*.js', 'app/services/**/*.js', '..']

但问题是在movie.js之前加载了config.js并且有错误,myAppServices没有加载或拼写错误.

我修复它的方式是我做的:

files: ['..', 'app/services/movie.js', 'app/services/config.js']
Run Code Online (Sandbox Code Playgroud)

我也为此设置了一个github repo.这是控制器测试文件,这是karma.conf.

我想知道采用这种模块化方法的可能方法是什么,而不必指定为我的测试加载文件的顺序.

这是我的第一次单元测试,它失败了:

Error: Unexpected request: GET https://api.themoviedb.org/3/configuration?api_key=2e329c92227ed8be07944ae447c9426f
Expected GET https://api.themoviedb.org/3/movie/top_rated?api_key=2e329c92227ed8be07944ae447c9426f
Run Code Online (Sandbox Code Playgroud)

如果我能得到一些帮助来解决这个问题会很有帮助.

考试

describe('Controllers', function() { …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

16
推荐指数
1
解决办法
648
查看次数

运行Karma时检测环境

我有两个环境,我正在运行我的测试(本地和travic ci).如果我在本地运行它,我需要在测试中做一些调整.

是否可以使用Karma而不使用两个单独的配置文件?

karma-runner

2
推荐指数
1
解决办法
3542
查看次数

标签 统计

angularjs ×1

javascript ×1

karma-runner ×1