问题标签 [ava]
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.
npm - package-lock.json 升级后缺少 ava 依赖项
我刚刚ava
在我的一个项目中使用npm install --save-dev ava@0.22.0
.
令我惊讶的是,它的所有依赖项现在都缺少package-lock.json
:
添加:
删除:
除此之外,我的代码和测试按预期运行。
为什么从package-lock.json
文件中删除所有依赖项?
javascript - 模拟命名导入和构造函数 ES6 和 Ava
我有一个类构造函数,有一个要存根的函数:
在我要测试的文件中,这是像这样导入的:
我正在努力让它在我的测试中正确导入和存根。
目前正在像这样导入:
此导入似乎有效,但是我无法通过构造版本获得对它的引用。对这个有帮助吗?
我希望能够做出如下断言:
javascript - 测试快速中间件
我有以下代码要测试:
我的测试文件:
我的问题是我无法以某种方式模拟 res 参数,以免发生错误。此代码产生以下错误:
如果我删除res
对象{}
的错误是res.status is not a function
我在初始化时做错了什么还是我的res
对象错了?
ava - AVA:在超时内不显示失败的测试,只通过
我在 AVA 中使用的任何输出方法,例如 Verbose、reporter 或它的默认值,总是输出通过的测试,但从不输出失败的测试。
弄清楚哪些测试失败以及为什么失败变得越来越困难(没有消除过程,这并不理想):
最好,我想知道哪些测试在超时内失败,没有通过 - 我总共有 59 个测试。
有没有人在 AVA 中实现了这一点?
ava - ava:在测试之外生成的日志不显示在控制台中
我的问题
ava logging ( t.log
) 仅在测试中有效,但在 setup ( before
, beforeEach
) 或 teardown ( after*
) 函数期间无效。
这意味着对于调试和复制非常有用的有意义的设置/拆卸数据会丢失。对于成功和失败的测试,以及有无--verbose
标志,都会发生这种情况。
代码
输出
请注意,仅显示来自测试 ( A test
) 的打印输出。所有其他日志都将丢失。
我的问题
如何从测试套件的设置和拆卸步骤中查看日志?
javascript - 使用 3rd 方库对 Javascript 代码进行单元测试
我在弄清楚如何为我的一些 JS 代码提供代码覆盖率时遇到问题,其中一个函数调用了以回调为参数的第 3 方函数:
我使用 AVA 和 Sinon 进行单元测试,使用 Auth0 进行身份验证。下面的auth.parseHash函数调用是对 auth0.js 库函数的调用,该函数接受自定义回调。但是对于我的生活,我无法弄清楚如何以涵盖下面所有代码的方式来存根函数。例如,我可以为auth.parseHash创建一个存根,为我的回调函数创建一个存根。但是代码覆盖并没有覆盖条件逻辑中的内部语句,因为我的回调只是一个存根。如果我将回调模拟为接近实际代码的内容,代码覆盖率仍然无关紧要。
我的总体问题是,我做错了吗?这是糟糕的代码设计吗?在这种情况下是否有任何标准模式可以遵循?
非常感谢我能得到的任何帮助。先感谢您。
node.js - 如何模拟 NodeJS 单元测试的 request-promise-native?
我的 NodeJS 应用程序使用 request-promise-native。
我试图模拟上述单元测试请求的“获取”。但它仍然进行实际调用并获得结果,而不是通过我的模拟对象调用。
我尝试了不同的变化,使用Sinon:
使用嘲弄(根据文档https://www.npmjs.com/package/request-promise)
我还尝试了 proxyquire 和 sinon 的假服务器的变体。但我无法让他们工作。
有什么建议么?
node.js - 如何在 puppeteer 中处理多个窗口?
我正在使用 puppeteer 对浏览器进行测试,我设法做的是访问一个页面,然后我点击一个 DOM 元素,点击后,浏览器向我显示其他视图,在这个视图中我点击一个打开弹出窗口的按钮,用于使用 facebook 登录。
我的问题是:
我如何处理另一个窗口以使用 facebook 登录?这是代码。
示例代码:
显然木偶无法与其他窗口交互
在这个帖子论坛中,用户aslushnikov
提到了与 相关的Target domain
内容,但我无法理解他的意思,或者如何执行。
任何帮助,将不胜感激。
谢谢
typescript - 如何为 SpectronClient 实现 Typescript webdriverio?
Spectron是一个用于自动化Electron应用程序的node.js框架。我正在使用 Spectron 以及AVA和Typescript来进行自动化集成测试。我正在使用AVA 的建议方法来使测试的上下文类型安全,但我无法弄清楚如何在作为webdriverio客户端的 Spectron 客户端属性上获得类型安全。我只能看到 Spectron 打字稿定义文件提供的一些属性,这会导致打字稿转译错误。
这些是我得到的错误: