问题标签 [jasmine2.0]

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 回答
550 浏览

node.js - 不能在异步承诺函数中使用 Jasmine 的“It”块

我在循环内使用 IT 块时遇到问题。循环基本上来自返回的 Promise,这是一个从 excel 文件中读取数据的exceljs模块。

这里'是承诺函数。

这是我在规范文件中调用的方式。

如果我从代码中删除IT块,规范将显示预期值。有人可以告诉我为什么承诺中的简单IT块不起作用吗?任何帮助将不胜感激谢谢:)

我有一个解决方法,如果我将 Excel 转换为 JSON,并需要 json 文件并执行 forEach,那么我可以轻松地进行数据驱动的自动化测试。但我不希望从其他源文件移动来实现我原来的方法。

0 投票
1 回答
622 浏览

visual-studio-2015 - 在 Visual Studio 2015 中使用 Chutzpah/PhantomJS 时收到错误“找不到变量:需要”

首先:我查看了许多解决类似问题的票证,但我觉得我的不同之处在于一个特别的方面:我刚刚在 Visual Studio 2015 中安装了 Chutzpah 测试运行器,我不知道会发生什么根据 PhantomJS 和 RequireJS 的测试运行程序。我不知道插件中已经为我配置了什么,以及我需要自己配置什么。

我刚刚开始在 Visual Studio 2015 中使用 Chutzpah 测试运行程序。

我正在 Jasmine 框架内编写测试。

这是我当前的 chutzpah.json 配置:

在此处输入图像描述

我已经成功运行了一些不使用任何额外库的一次性 Jasmine 测试:

扔掉茉莉花测试

一次性测试结果

我的理解是 Chutzpah 测试运行器使用了 PhantomJS,所以我尝试编写一个测试来验证 PhantomJS 是否可用。

我复制了 PhantomJS 登陆页面上教程的第一行:

我将其插入到以下单元测试中:

运行此测试后,我收到以下错误:

我的理解是 Chutzpah 已经使用了 RequireJS。

我的问题是:

我应该期望 Visual Studio 2015 中的 Chutzpah 测试运行程序原生支持 PhantomJS 和 RequireJS,还是我需要添加和配置其他模块?

感谢您的关注。欢迎澄清问题。

0 投票
1 回答
365 浏览

angular - Protractor4.0.9 / jasmine2 / Chrome 54+:错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调

我知道这个问题已经解决了,但它对我不起作用。

我升级到 protractor4.0.9/Jasmine2、chromedriver 2.25、Chrome54。

像这样的简单测试失败了:

它永远不会通过第二个规范。即使 browser.get() 正在工作。它在正确的路径上导航。但它最终是:

在我的量角器配置中,我有:

我正在使用 Angular 2 应用程序进行测试。任何想法?

0 投票
2 回答
661 浏览

angularjs - 量角器功能测试不更新 ng-model?

所以在我的基本角度应用程序中,我有一个登录表单:

我目前正在用量角器和茉莉花编写功能测试。这是我的登录测试:

我的问题是 sendKeys() 方法,即使它正确写入了电子邮件和密码(视觉上它在输入中),当它触发登录功能时,我注意到请求参数有些奇怪:我的对象的字段电子邮件和密码用户为空,例如“”。但是,当我检查输入的“值”属性时,它已正确填写,例如“supermerchant@bogus.com”和“boguspass”。

所以我搜索了很多,但到目前为止一无所获,我不知道问题可能出在哪里......

任何线索将不胜感激!

编辑:来自控制器和服务的附加代码。

登录控制器

身份验证服务

编辑2:当我将字段电子邮件和密码设置为任何内容时,即使使用 clear 和 sendKeys,这些值在身份验证时也不会改变。但在视觉上,输入被正确清除和填充。所以我怀疑这个问题是数据绑定问题。也许双向绑定在某种程度上被破坏了。

EDIT3:好的,所以在每个输入下,我添加了一个带有 ng 绑定到电子邮件和密码模型的跨度。当使用 sendKeys 和 clear 时,spans 值不会改变(例如'a')。所以存在数据绑定问题!当我从输入中手动删除一个字符时,值会发生变化。

0 投票
1 回答
323 浏览

javascript - 在 jasmine 2 中处理异步测试的更好方法

这是我的三个测试的一个例子......

如您所见,每个测试由 a describe、 abeforeEachit. 这对我来说很多,当测试失败时,我会收到一些无用的超时错误。

这是我在测试工作时得到的:

无论如何它都失败了,测试通过但超时导致失败。我正在尝试测试 click 事件没有发生。它也是 6 行,每个测试两行。我真的更希望有这个:

我需要进行负面测试,测试缺少点击。

当测试确实失败时,我得到了这个,同样的超时错误以及有效的失败原因。

有什么方法可以测试缺少事件吗?还有其他更好的方法,我可以编写我的规范文件吗?我在这里只列出了 3 个测试,但我还有更多。

0 投票
1 回答
8681 浏览

reactjs - React Jest 测试 onSubmit

我是新来的反应和开玩笑。我一直在到处寻找测试,但找不到任何有用的东西。这部分是因为我对它很陌生,我不知道从哪里开始。所以请多多包涵。

我有一个添加到购物车文件,它呈现一个带有按钮的表单。该按钮是另一个组件,所以我不想测试它。我必须测试表单的 onSubmit 函数。有什么想法吗?参考?

这是我到目前为止的测试代码:

我收到此错误:

0 投票
1 回答
98 浏览

ruby - 在 jasmin 中更改绑定 IP 地址,或者使用两个 rails 开发环境

我有两个问题,我试图将 jasmine rails ruby​​gem 的 IP 地址绑定到 localhost 以外的其他东西。

原因是我使用 Ruby on rails 进行开发,50% 的时间我在笔记本电脑上,另外 50% 的时间我在 PC 上工作。所以我需要能够使用两台机器从浏览器访问它。

我尝试在 Linux 机器上使用 X 转发,但这非常缓慢并且减慢了我的工作。

所以我的两个问题是,对于 Rails 方式 1:我是否应该将 jasmine 绑定 IP 更改为其他内容,如果是,如何?2:我是否应该在两台机器上分别运行开发服务器,而不是只从笔记本电脑上通过 ftp 上传到 PC?

0 投票
0 回答
245 浏览

npm - Protractor-fail-fast npm 失败规范并且不在配置文件中运行其余规范(测试)(使用 Protractor 和 Jasmine)

我在使用 npm protractor-fail-fast 时遇到问题。(https://www.npmjs.com/package/protractor-fail-fast)如果一个规范文件失败,其余规范将不执行(不好)。

我正在寻找一种方法,当第一个期望失败并且不会执行其余的“it”块时,如何使用许多“it”块来描述失败。同时,配置文件中的其余规范文件应该被执行。

你能给出你的建议吗?是否可以使用 Protractor + Jasmine 实现此解决方案?

0 投票
2 回答
1526 浏览

angularjs - 无法读取 AngularJS Jasmine 单元测试中未定义的属性“$broadcast”

我在编写 Angular JS Jasmine 单元测试用例时遇到错误:-

无法读取未定义的属性“$broadcast”

我的代码:-

我的单元测试代码

请帮忙写代码。

0 投票
1 回答
492 浏览

jasmine - 茉莉花测试不起作用,在期待间谍时未定义

我正在尝试使用间谍来观察何时进行 functino 调用。我无法让它与我的代码一起使用。

我的测试

我正在尝试测试的代码:

我得到的错误是:

有什么想法我需要做些什么来解决这个问题?