【问题标题】:Can't get sbt-mocha to see Angular webjar mocks library properly无法让 sbt-mocha 正确查看 Angular webjar 模拟库
【发布时间】:2014-08-18 12:47:54
【问题描述】:

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

【问题讨论】:

  • 我还收到一条奇怪的消息,说除非我的评分为 1500 或更高,否则我无法使用标签 sbt-mocha 创建问题。什么?如果某个主题太稀少以至于您无法提出问题,您应该如何获得有关该主题的帮助?抱歉,这很烦人。
  • 有趣的是,在 console.log 中,“模块”看起来像是代表 mocha“被测模块”的东西。 angular.mocks.module 不可用,因此未包含该脚本。
  • 我更新了 git 存储库并包含了 assets/app.html 以及 assets/javascripts/app.js 示例。我能够在没有资产流水线工作的情况下让 Angular 工作(仅通过引用 assets/lib),但这并不理想。至少我可以继续前进,但让流水线工作和 mocha 功能测试会很好。
  • 看起来更有希望使用另一个 github 项目作为指南 - 我现在正在查看 github.com/mariussoutier/play-angular-require-seed,它唯一缺少的是 sbt-mocha 插件。但它确实有一个很好的 requirejs 导入角度库的例子,而且它开箱即用。一旦我得到一个完整的工作堆栈,我将自己回答我的问题并结束它。

标签: angularjs scala playframework mocha.js sbt-web


【解决方案1】:

你缺少依赖:

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

看看是不是这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多