4

我无法在 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。

4

1 回答 1

1

您缺少依赖项:

"org.webjars" %% "webjars-play" % "2.3.0"

看看是不是这个问题。

于 2014-09-10T20:58:18.687 回答