【问题标题】:Jasmine, require and play frameworkJasmine,需要和播放框架
【发布时间】:2023-03-06 10:59:01
【问题描述】:

我现在真的被卫报https://github.com/guardian/sbt-jasmine-plugin制作的play框架和jasmine插件卡住了。

我已经让 jasmine 运行游戏测试,但由于需要,我遇到了问题。

案例:

  1. 尝试在 test.dependencies.js 中加载我想要测试的应用程序或其他模块。 这会导致错误MISMATCHED ANONYMOUS DEFINE() MODULES。我所有的 js 文件都包含在定义中。这意味着它全部崩溃并且测试永远不会运行。

  2. 尝试围绕描述调用定义来调用我想在当前规范中测试的模块。 这导致错误是:InternalError: Couldn't read source file "./test.js: ./test.js (No such file or directory)". (rjs/r-2.0.1.js#2114). 真的很难看出它想从哪里加载。但是它的 r-2.0.1.js 会产生这个错误。

  3. 我试图在我要测试的当前 js 文件上调用 require(),文件现在称为 test。 这导致错误为:Error: Module name "test" has not been loaded yet for context: _. 不知道我应该怎么做。

  4. 我试图在当前 js 文件上调用 require,但在绝对路径中,我想测试。 这导致它起作用。但只有当我在函数变量中写一些东西时。这可以是任何东西。如果我在 define(function(variable) {...}) 中删除函数调用中的变量,则会导致错误为:Error: Module name "test" has not been loaded yet for context: _.

  5. 试图只要求测试,文件名为 test.js。 这导致错误为:InternalError: Couldn't read source file "./test.js: ./test.js (No such file or directory)". (rjs/r-2.0.1.js#2114) 当随机变量存在或不存在时,这里同样奇怪。

  6. 尝试使用变量作为绝对路径,所以我只需将它放在一个地方。 这会导致错误:尚未为上下文加载模块名称“path..../test.js”:_ 这意味着绝对路径在那里,但由于某种原因我没有加载。我什至可以在尝试要求之前控制台记录变量,并且它是正确的。

在define中定义一个空列表无法解决奇怪的问题。但只能在函数中使用变量。除非我真的在定义数组中定义了一些东西。

希望有人对此有所了解。我真的迷路了。

【问题讨论】:

    标签: javascript testing playframework-2.0 requirejs jasmine


    【解决方案1】:

    守护者已被弃用。新的仓库位于https://github.com/joescii/sbt-jasmine-plugin

    你试过那个吗?


    编辑:

    为此,我还构建了自己的插件:https://github.com/tanin47/sbt-web-test-js

    与 sbt-jasmine-plugin 的区别在于:

    1. 测试人员可以在 Coffeescripts 中
    2. 它使用 PhantomJS 来执行测试 HTML 文件。 sbt-jasmine-plugin 使用 env-js + Rhino,在我看来,它的健壮性较差。

    【讨论】:

    • 感谢您的回答,但我现在退出了这个项目。
    猜你喜欢
    • 1970-01-01
    • 2011-09-30
    • 2011-08-16
    • 2011-12-15
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    相关资源
    最近更新 更多