问题标签 [jasmine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2391 浏览

unit-testing - Coffeescript + 单元测试:全局变量?

我正在尝试使用 Jasmine 对一个用咖啡脚本编写的小型应用程序进行单元测试。我发现许多消息来源说单元测试可以在从咖啡脚本编译的 JS 上完美完成。如果所有内容都包装在匿名函数中以避免污染名称空间,您如何访问 JS 代码的数据和逻辑?是每次都使用 -b 标志运行编译器的唯一解决方案吗?

0 投票
2 回答
1322 浏览

javascript - 如何有效地使用 Jasmine 测试通过 Jammit 打包的 javascript 资产?

我有一个使用Jammit组合 javascript 资产的 rails 应用程序,我想使用Jasmine对我的 javascript 进行 BDD 样式测试。我想知道是否有人对从 Jasmine 中访问 Jammit 生成的“pacakges”有任何建议?

问题是 Jasmine 是通过在磁盘上定义要测试的 JS 文件列表来配置的,然后它将这些文件包含在自己的测试运行器页面中,该页面在浏览器中加载和运行。

在将它们与 Jammit 打包之前,我可以在 jasmine.yml 配置文件中引用每个单独的 JS 文件......但是,Jammit 已经在为我处理文件之间的依赖关系,更重要的是,我还需要访问Jammit 生成的已编译javascript 模板。

我也可以手动运行 Jammit 以首先生成已编译的资产,然后运行 ​​Jasmine,但我最终不得不在每次测试运行之前手动重新生成资产以测试更改,这将严重限制快速测试 -驱动型工作流程。

我想知道我是否可以:

  • 从 Jasmine 的机架服务器中安装 Jammit 控制器,以便它可以提供来自 Jasmine 的包?这基本上与 Jammit 在 Rails 的开发环境中所做的工作方式相同。
  • 在执行测试之前以某种方式连接到 Jasmine 以在每个页面加载时打包资产?这会更慢,但会为我节省一步并确保事情是最新的。

有什么建议么?我才刚刚开始,所以我可能会做错一切。任何建议将不胜感激。:-)

谢谢!-约翰

0 投票
1 回答
2519 浏览

javascript - 如何在 Jasmine / Maven 自动生成的 ManualSpecRunner.html 中配置我的 javascript 文件的路径?

我认为这个问题说明了大部分。我有一个由 maven / jasmine 插件创建的自动生成的 ManualSpecRunner.html 文件,我已经通过以下方式将其放入可部署的 .war 中:

但是,ManualSpecRunner.html 中所有指向 js 文件的链接都是硬编码的 file:/// 引用——这有点心理,我希望它们只是 webapp 中文件的相对路径,即

目前它给了我这条路:

而我需要它更简单

我尝试在 maven 脚本中更改其他两个变量,但似乎都没有达到预期的效果,这些配置选项都没有满足我的需要,第二个似乎没有效果:

也不

我已经查看了文档,但认为我必须遗漏一些东西(另外,关于https://github.com/searls/jasmine-maven-plugin/blob/master/src/main/java中列出的各种配置参数的更多注释/com/github/searls/jasmine/AbstractJasmineMojo.java应该做的会有帮助,所以我可以弄清楚我做错了还是不可能!)

有什么建议么?

[ps 我已经更改了一些路径名称,因为它们包含敏感信息,所以请忽略它们的奇怪之处!]

0 投票
2 回答
1851 浏览

javascript - Jasmine:单元测试后恢复原型方法

为了测试我的代码的某个部分,我需要模拟一个原型方法以确保它被调用。代码看起来像这样。

这有效,但它改变了我不想要的 SomeObject 的状态。所以我想知道有没有办法在我完成后恢复prototype.foo 的状态?我正在考虑制作 SomeObject 的副本。我看了一下 jQuery.extend 但我不确定是否可以使用它来复制构造函数。

0 投票
1 回答
1211 浏览

ruby-on-rails - 如何使用rails cucumber,rspec,capybara在视图(dhtml)中测试动态部分?

我想要两者,通过 Javascript 测试 Ajax 内容和正常切换的内容。

我的设置是:

例如,如果选择了此模型的某种类型,我想要一个仅显示特定字段的表单:

文章可以是外部文章 (url) 或内部文章。键入“externa_url”应该显示 2 个输入字段和 2 个复选框,然后键入“article”,它有一个正文文本区域。

实现这一点的最佳方法是什么,以及测试?

它应该是服务器端的,以便加载部分,如果选择了某种文章类型,或者使用 javascript,切换所需的 html?

0 投票
4 回答
3203 浏览

javascript - 检测茉莉花测试何时完成

我正在运行这样的茉莉花测试;

我想使用 JavaScript 检测测试何时完成。我怎样才能?

0 投票
4 回答
14348 浏览

javascript - 如何在不重定向的情况下测试javascript重定向?

我正在使用 Jasmine 进行一些测试,尽管这通常可以应用于基于浏览器的 javascript 单元测试。

我有一个功能,在某些情况下使用window.location.assign. 问题是,如果到达这一行,页面就会被重定向。在这种情况下,由于它被重定向到'/',页面重新加载,并且所有测试再次运行。我能做些什么来测试函数到达它重定向的行而不重定向

0 投票
3 回答
9072 浏览

debugging - 使用 node-inspector 调试 jasmine-node 测试

有谁知道这是否可能?节点检查器的大多数示例似乎都适合调试调用的网页。不过,我希望能够调试 jasmine-node 测试。

0 投票
1 回答
2161 浏览

javascript - 如何将 jsdom.jQueryify 与 jasmine-node 一起使用?

是否可以使用 jsdom 的 jQueryify 功能来使用 jasmine-node?我想要做的是使用 NodeJS 来测试一些依赖于 DOM 存在的 JavaScript。

这是我尝试过的简化案例。当我运行脚本时,jasmine-node 识别规范,但不运行expect()

或者,在假定类似浏览器的环境的 NodeJS 中测试东西是否有不同/更好的方法?

0 投票
1 回答
276 浏览

ruby-on-rails - 使用 Jasmine BDD 获取执行代码的堆栈跟踪

我一直在使用 Jasmine 来测试我的 Rails 应用程序的 javascript 代码。但是,当我运行 rake jasmine 并查看网页时。预期失败的堆栈跟踪仅显示 jasmine.js 文件,而不是我的代码。有没有办法让它显示我的代码在 Rspec 中失败的地方?