我无法在 sbt-web / sbt-mocha 项目中识别 Angular 模拟或 Angular 本身。
我正在编写基于 sbt-web play http://typesafe.com/activator/template/play-2.3-highlights highlight 示例的示例。我杀死了其他插件,但留下了 sbt-mocha 一个。
我在 libraryDependencies 中声明了依赖项:
libraryDependencies ++= Seq(
"org.webjars" % "jquery" % "2.1.0-2",
"org.webjars" % "angularjs" % "1.3.0-beta.18",
"org.webjars" % "angular-ui-router" % "0.2.10-1",
"org.webjars" % "squirejs" % "0.1.0" % "test",
"org.webjars" % "chai" % "1.9.1" % "test"
)
然后,我编写了一个带有常量的 Angular 应用程序,并将其作为 app.js 放入 assets/javascripts 中:
angular.module('myApp', [])
.constant('PI', Math.PI);
接下来,我写了一个测试:
(function() {
'use strict';
describe('angular spec', function() {
beforeEach(module('myApp'));
it('should have an app with PI', inject(function(PI) {
expect(PI).to.be.defined();
}));
});
}());
然后我启动了 sbt mochaOnly 并得到:
[error] TypeError: module is not a function, it is object.
现在,我也尝试过使用 angular.mocks.module ,但它给了我一个错误,即 Angular 不存在。
我还在测试路径中添加了相同的库,认为测试路径可能与主路径隔离,(愚蠢的想法)但这没有帮助。然后我尝试按照http://www.scala-js.org/doc/sbt/depending.html仅包含这样的模拟 js 文件:
"org.webjars" % "angularjs" % "1.3.0-beta.18" / "angular-mocks.js" % "test",
但是它给了我一个“/”周围的错误并且没有识别它,所以点击三个......
我已经用 gulp、grunt 甚至 maven 用 maven-jasmine-plugin 完成了几十次,但现在我在 sbt-web 世界中,它使用 mocha,并且没有任何文档可以继续. 我也是 Scala 的新手,想尝试做一些事情,所以如果我还没有得到它,请道歉......很有可能!
我只想用模块函数引导角度模拟库,然后用注入注入像 PI 这样的角度资产。
我有一个包含此代码的 GitHub 存储库......它是: https ://github.com/krimple/sbt-web-project-with-angular/
有人想和我一起破解这个吗?我很想弄清楚它并为 angular 的 play seed 项目提出拉取请求,以便我们实际上进行一些 mocha 测试。更好的是 jasmine sbt 插件,但我认为我们将不得不首先关注 mocha。