问题标签 [chai-as-promised]
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.
javascript - 即使是错误的 Chai-As-Promised 也会通过
这个测试通过???我正在使用“chai”:“3.5.0”,“chai-as-promised”:“5.2.0”,
protractor - 量角器 e2e、chaijs 和 doSomethingAsync().should.eventually.equal("foo") - TypeError: Cannot read property 'should of undefined"
像 chaijs 在他们的文档中所说的那样,这样做会很有帮助:return doSomethingAsync().should.eventually.equal("foo");
这将加快我的 e2e 测试的编写速度,因为我不必像这样明确地解决承诺:
使用 chai 会很好;柴。期待;柴.应该();chai-as-promise 解决这些承诺并迅速兑现;但是,到目前为止,我没有尝试过任何工作;对 SO 的搜索似乎表明 Chai 使用了与 Protractor 不同的承诺类型,并且承诺类型的不兼容可能导致
TypeError:无法读取未定义的属性“应该”
这就是我导入这些库的方式:
return doSomethingAsync().should.eventually.equal("foo");
有没有人在不使用其他库的情况下成功使用'Q'
?同样,我不想依赖其他库,例如'Q'
;如果可能的话,我只想在量角器 e2e 中使用纯 chaijs;不是 expect() 而是.should.eventually.....
谢谢
javascript - Do I really need to return a promise in test when using Chai as Promised?
Chai as Promised documentation states as follows:
Notice: either return or notify(done) must be used with promise assertions.
And the examples on the site are as follows:
The thing is; I actually wrote a test using chai as promised without returning the promise. Like so:
And it works perfectly fine. I am sure it does as I change testUser to something else the test fails. Just like I expected. So I am not sure if I am doing something wrong here.
In fact, when I modified the code to return a promise, it failed with error "Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test." The modified code is below:
A little confused here. It might have something to do with Angular $q. To make it clear, the function resolve.user returns a $q promise.
javascript - 在javascript中实现回调
我的助手 js 文件中有一个函数可以在 S3 上上传文件:
我的消费者功能是这样的:
我想在这里介绍一个回调方法,这样我就可以从我的帮助函数到我的调用函数获得成功和失败。如何实施?需要我的消费者函数如下所示,但辅助函数会是什么样子?
node.js - 在chai中测试promise的返回值
我有以下承诺。我知道它们工作正常,因为 funcThree 中的 console.log 输出返回了正确的数据。我如何通过测试证明这一点?
基本上,我如何测试这个承诺?我已经尝试在下面进行测试,但无论我在那里放什么(包括expect(false).to.be.true),它总是返回true。我不相信它实际上达到了预期的陈述。
代码
测试示例
angularjs - Protractor 和 Cucumber.js:使用带有 mocha 的 promise 时,期望不会按预期工作
我一直在尝试使用量角器和黄瓜测试我的角度应用程序,但是当我使用 mocha 来创建期望时,当期望为假时,错误规范不会显示在控制台中。
路由http://localhost:9000/#/form29/form29的相关 HTML '
我的步骤文件是:
//form29_steps.js
当期望它有效时它可以,但是当期望失败时没有期望失败错误并显示以下内容:
当我尝试相同但不使用承诺时,效果很好
我得到了我希望的错误:
为什么会这样?
javascript - 柴(按承诺)匹配属性
如何针对 中的正则表达式测试属性chai
?奖励点:我实际上想测试一个由承诺返回的对象的属性chai-as-promised
(但我想如果我知道非承诺方式chai-as-promised
应该以同样的方式工作)。
我的功能
我的测试(我的想法):
(但没有match.property
)
protractor - 你如何使用量角器和 Chai 等待承诺?
我正在尝试使用 Cucumber、Chai 和 Protractor 等待承诺解决方案。有没有办法使用 Chai 在发送回调之前等待某些事情(如页面加载)发生?
我想要类似的东西:
我以为会在柴:
虽然当我这样做时,我只是超时,但我看到页面已经加载。我已经设置好了:
我不想检查什么,我只想确保页面加载。据我所见,大多数人只是这样做:
并且只在 Gherkins Then 子句中使用assert
or expect
,但我想等待页面在 Given 或 When 中加载。