问题标签 [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 投票
3 回答
4388 浏览

javascript - 如何使用 ava 的 t.throws 来测试返回 Promise 的函数的错误信息?

我有一个返回 Promise 的函数。我想为它创建一个测试,要求它用特定的错误消息拒绝它才能通过。

我创建了一些示例测试来说明我的意思:

作为参考,第一个测试的代码复制自这个 GitHub 评论:https ://github.com/avajs/ava/issues/1120#issuecomment-261783315

当使用ava --verbose(version 0.17.0) 运行时,它会给出以下输出:

如您所见,第一个测试通过,但其他两个测试失败。

如何使用 t.throws 测试返回 Promise 的函数的错误消息?

0 投票
1 回答
297 浏览

javascript - 如何在不删除 Ava 的情况下使用 Mocha?

我的一位同事将此Ava包添加到我们的设置中,它完成了我以前从未见过的 Node 包所做的事情:干扰其他包!现在,当我尝试运行 Mocha 时,我得到:

我知道 Ava 想要运行我的 Mocha 测试,但如果我想要,我ava mocha不会运行mocha. 而且因为同事正在使用它,所以我不能简单地卸载该软件包。

有什么方法可以在安装了 Ava 的机器上运行普通的 Mocha 测试?

0 投票
2 回答
1691 浏览

javascript - 为什么(JS 测试库)AVA 没有“套件”(或任何其他分组)?

我正在查看 AVA 测试运行程序,它的并发功能似乎非常引人注目。但是,我习惯了 Mocha,您可以像这样组织测试:

通过以这种方式组织测试,您可以轻松地判断在一堆测试失败时哪些组件会受到影响,并且您可以轻松地针对特定的类/方法/条件重新运行测试。

但是 AVA 没有这些。它的测试根本没有任何“元信息”,只是:

但显然 AVA 是一个流行且广泛使用的框架,所以我的问题是:没有测试元信息它是如何工作的?在 AVA 中是否有其他定义元信息的方法?由于 AVA 具有其他功能,因此不需要元信息吗?

基本上,作为 AVA 局外人,我试图了解当您拥有真正的测试套件时它是如何工作的(不仅仅是 AVA 示例中显示的基本测试)。或者换一种说法,如果我切换到 AVA,我会想念 Mocha 中的测试组织(以及大多数其他测试运行者)吗?

0 投票
2 回答
1490 浏览

travis-ci - 纽约工作服集成不起作用

我尝试nyc按照coveralls说明进行操作: https ://github.com/istanbuljs/nyc#integrating-with-coveralls

但我无法让它工作。这是一个示例仓库: https ://github.com/unional/showdown-highlightjs-extension

Travis 构建成功:https ://travis-ci.org/unional/showdown-highlightjs-extension

并且工作服注意到构建,但似乎没有得到任何数据: https ://coveralls.io/github/unional/showdown-highlightjs-extension

这是我的.travis.yml

这是我的package.json

0 投票
5 回答
5641 浏览

javascript - 'ava' 测试的 ES6 导入不起作用

我按照文档使用ava创建了我的第一个测试,但它似乎无法正常运行。我收到以下错误。我尝试import 'babel-register';在文件顶部添加,它可以工作,但前提是我运行一个特定的测试文件。例如ava ./test/helpers/test_helper.js。虽然单独运行ava...导致下面的导入错误。还有其他人知道如何解决这个问题吗?入门指南使用 ES6 导入,我不知道为什么我的不能正常工作。

(function (exports, require, module, __filename, __dirname) { import test from 'ava'; ^^^^^^ SyntaxError: Unexpected token import

测试.js

0 投票
1 回答
776 浏览

javascript - 如果使用 avajs 调用了方法,则断言 true

我正在尝试使用 react、ava 等创建单元测试。我在创建简单单元测试以检查是否调用了方法时遇到问题。如果该方法已被调用,我的测试应该通过。但是,当我检查代码覆盖率时,我会收到一条消息,说“功能未覆盖”。下面是我用来测试它的代码。

我究竟做错了什么?

0 投票
1 回答
421 浏览

javascript - 使用 Ava 进行 React 单元测试:为什么函数已经被包装了?

即使我使用 afterEach 我仍然收到以下错误:尝试包装已经包装的 setTimeout。我做错了什么?我正在使用 ava 进行此单元测试。我要创建的测试非常简单。它几乎是检查渲染和点击动作。还有一个测试来检查是否使用正确的参数调用了 setTimeOut 函数。

0 投票
1 回答
289 浏览

javascript - 导入到 test.js 时 AVA 测试给出未定义

我正在使用 AVA 作为节点和 javascript 的测试。

在 test.js 上

在第一次测试中它通过了,即使我的

变量输入 = '';

同样在我的第二次测试中,它抛出:

在依赖.js

我在函数之后确实有输出值,但似乎在 test.js 上它不接受依赖测试的输入或输出值。我不确定如何解决这个问题。

0 投票
1 回答
468 浏览

javascript - AVA 测试抛出

我正在尝试通过抛出错误进行测试。

所以有效的是函数,当我输入数字时,我想抛出错误。现在它给了我 AssertionError: Missing expected exception (err)..

不知道我做错了什么。

0 投票
0 回答
142 浏览

mongoose - 最初将文档插入数据库

我想用猫鼬测试一个快速应用程序。因此我使用 AVA 和 Mockgoose。

使用 AVA 的 beforeEach 挂钩,我想将两个文档插入到我的数据库中,然后我可以在测试中使用它们。

代码如下所示:

然后我进行了这个测试以确保上面的代码有效:

该测试也成功并且工作正常。在这个测试之后,我有另一个测试:

当我切换测试顺序时,第一个测试仍然有效,第二个测试失败。因此,对于第一个测试,我的数据确实存在,而对于第二个测试,它不存在。这是为什么?为什么它在第一次测试中起作用?

如果我将 afterEach 钩子更改为 after 钩子,它会起作用,但我认为这不是应该的方式吗?我认为应该在每次测试后而不是在所有测试后重置数据库。

似乎 beforeEach 钩子只在第一次调用它时创建我的用户,然后就不再工作了..

这是我的数据库助手: