问题标签 [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.

0 投票
1 回答
629 浏览

unit-testing - 如何在 AVA 测试运行器中对测试进行分组?

首先,感谢您提供此

我的疑问,有没有办法在 AVA 中对测试进行分组?假设我目前有四个测试用例,例如:

所以目前,当我使用以下选项在verbose output模式下运行 ava 时,所有这些都显示在终端中:-v

AVA中是否有任何分组功能,所以我可以看到结果有点像:

我也查看了问题#222,但可以确定使用哪一个。我也查看了ava-spec,但这也无法正常工作。此外,它似乎已经过时,最后一次更新是 8 个月前。

期待你的回复。谢谢!

0 投票
1 回答
114 浏览

npm - package-lock.json 升级后缺少 ava 依赖项

我刚刚ava在我的一个项目中使用npm install --save-dev ava@0.22.0.

令我惊讶的是,它的所有依赖项现在都缺少package-lock.json

添加:

删除:

除此之外,我的代码和测试按预期运行。

为什么从package-lock.json文件中删除所有依赖项?

0 投票
1 回答
752 浏览

javascript - 模拟命名导入和构造函数 ES6 和 Ava

我有一个类构造函数,有一个要存根的函数:

在我要测试的文件中,这是像这样导入的:

我正在努力让它在我的测试中正确导入和存根。

目前正在像这样导入:

此导入似乎有效,但是我无法通过构造版本获得对它的引用。对这个有帮助吗?

我希望能够做出如下断言:

0 投票
1 回答
707 浏览

javascript - 测试快速中间件

我有以下代码要测试:

我的测试文件:

我的问题是我无法以某种方式模拟 res 参数,以免发生错误。此代码产生以下错误:

如果我删除res对象{}的错误是res.status is not a function

我在初始化时做错了什么还是我的res对象错了?

0 投票
1 回答
302 浏览

ava - AVA:在超时内不显示失败的测试,只通过

我在 AVA 中使用的任何输出方法,例如 Verbose、reporter 或它的默认值,总是输出通过的测试,但从不输出失败的测试。

弄清楚哪些测试失败以及为什么失败变得越来越困难(没有消除过程,这并不理想):

最好,我想知道哪些测试在超时内失败,没有通过 - 我总共有 59 个测试。

有没有人在 AVA 中实现了这一点?

0 投票
1 回答
1108 浏览

ava - ava:在测试之外生成的日志不显示在控制台中

我的问题

ava logging ( t.log) 仅在测试中有效,但在 setup ( before, beforeEach) 或 teardown ( after*) 函数期间无效。

这意味着对于调试和复制非常有用的有意义的设置/拆卸数据会丢失。对于成功和失败的测试,以及有无--verbose标志,都会发生这种情况。

代码

输出

请注意,仅显示来自测试 ( A test) 的打印输出。所有其他日志都将丢失。

我的问题

如何从测试套件的设置和拆卸步骤中查看日志?

0 投票
0 回答
176 浏览

javascript - 使用 3rd 方库对 Javascript 代码进行单元测试

我在弄清楚如何为我的一些 JS 代码提供代码覆盖率时遇到问题,其中一个函数调用了以回调为参数的第 3 方函数:

我使用 AVA 和 Sinon 进行单元测试,使用 Auth0 进行身份验证。下面的auth.parseHash函数调用是对 auth0.js 库函数的调用,该函数接受自定义回调。但是对于我的生活,我无法弄清楚如何以涵盖下面所有代码的方式来存根函数。例如,我可以为auth.parseHash创建一个存根,为我的回调函数创建一个存根。但是代码覆盖并没有覆盖条件逻辑中的内部语句,因为我的回调只是一个存根。如果我将回调模拟为接近实际代码的内容,代码覆盖率仍然无关紧要。

我的总体问题是,我做错了吗?这是糟糕的代码设计吗?在这种情况下是否有任何标准模式可以遵循?

非常感谢我能得到的任何帮助。先感谢您。

0 投票
2 回答
8800 浏览

node.js - 如何模拟 NodeJS 单元测试的 request-promise-native?

我的 NodeJS 应用程序使用 request-promise-native。

我试图模拟上述单元测试请求的“获取”。但它仍然进行实际调用并获得结果,而不是通过我的模拟对象调用。

我尝试了不同的变化,使用Sinon:

使用嘲弄(根据文档https://www.npmjs.com/package/request-promise

我还尝试了 proxyquire 和 sinon 的假服务器的变体。但我无法让他们工作。

有什么建议么?

0 投票
2 回答
3565 浏览

node.js - 如何在 puppeteer 中处理多个窗口?

我正在使用 puppeteer 对浏览器进行测试,我设法做的是访问一个页面,然后我点击一个 DOM 元素,点击后,浏览器向我显示其他视图,在这个视图中我点击一个打开弹出窗口的按钮,用于使用 facebook 登录。

我的问题是

我如何处理另一个窗口以使用 facebook 登录?这是代码。

示例代码

显然木偶无法与其他窗口交互

这是另一个相关的问题

在这个帖子论坛中,用户aslushnikov提到了与 相关的Target domain内容,但我无法理解他的意思,或者如何执行。

任何帮助,将不胜感激。

谢谢

0 投票
3 回答
2408 浏览

typescript - 如何为 SpectronClient 实现 Typescript webdriverio?

Spectron是一个用于自动化Electron应用程序的node.js框架。我正在使用 Spectron 以及AVATypescript来进行自动化集成测试。我正在使用AVA 的建议方法来使测试的上下文类型安全,但我无法弄清楚如何在作为webdriverio客户端的 Spectron 客户端属性上获得类型安全。我只能看到 Spectron 打字稿定义文件提供的一些属性,这会导致打字稿转译错误。

这些是我得到的错误: