问题标签 [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.
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 的函数的错误消息?
javascript - 如何在不删除 Ava 的情况下使用 Mocha?
我的一位同事将此Ava
包添加到我们的设置中,它完成了我以前从未见过的 Node 包所做的事情:干扰其他包!现在,当我尝试运行 Mocha 时,我得到:
我知道 Ava 想要运行我的 Mocha 测试,但如果我想要,我ava mocha
不会运行mocha
. 而且因为同事正在使用它,所以我不能简单地卸载该软件包。
有什么方法可以在安装了 Ava 的机器上运行普通的 Mocha 测试?
javascript - 为什么(JS 测试库)AVA 没有“套件”(或任何其他分组)?
我正在查看 AVA 测试运行程序,它的并发功能似乎非常引人注目。但是,我习惯了 Mocha,您可以像这样组织测试:
通过以这种方式组织测试,您可以轻松地判断在一堆测试失败时哪些组件会受到影响,并且您可以轻松地针对特定的类/方法/条件重新运行测试。
但是 AVA 没有这些。它的测试根本没有任何“元信息”,只是:
但显然 AVA 是一个流行且广泛使用的框架,所以我的问题是:没有测试元信息它是如何工作的?在 AVA 中是否有其他定义元信息的方法?由于 AVA 具有其他功能,因此不需要元信息吗?
基本上,作为 AVA 局外人,我试图了解当您拥有真正的测试套件时它是如何工作的(不仅仅是 AVA 示例中显示的基本测试)。或者换一种说法,如果我切换到 AVA,我会想念 Mocha 中的测试组织(以及大多数其他测试运行者)吗?
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
:
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
javascript - 如果使用 avajs 调用了方法,则断言 true
我正在尝试使用 react、ava 等创建单元测试。我在创建简单单元测试以检查是否调用了方法时遇到问题。如果该方法已被调用,我的测试应该通过。但是,当我检查代码覆盖率时,我会收到一条消息,说“功能未覆盖”。下面是我用来测试它的代码。
我究竟做错了什么?
javascript - 使用 Ava 进行 React 单元测试:为什么函数已经被包装了?
即使我使用 afterEach 我仍然收到以下错误:尝试包装已经包装的 setTimeout。我做错了什么?我正在使用 ava 进行此单元测试。我要创建的测试非常简单。它几乎是检查渲染和点击动作。还有一个测试来检查是否使用正确的参数调用了 setTimeOut 函数。
javascript - 导入到 test.js 时 AVA 测试给出未定义
我正在使用 AVA 作为节点和 javascript 的测试。
在 test.js 上
在第一次测试中它通过了,即使我的
变量输入 = '';
同样在我的第二次测试中,它抛出:
在依赖.js
我在函数之后确实有输出值,但似乎在 test.js 上它不接受依赖测试的输入或输出值。我不确定如何解决这个问题。
javascript - AVA 测试抛出
我正在尝试通过抛出错误进行测试。
所以有效的是函数,当我输入数字时,我想抛出错误。现在它给了我 AssertionError: Missing expected exception (err)..
不知道我做错了什么。
mongoose - 最初将文档插入数据库
我想用猫鼬测试一个快速应用程序。因此我使用 AVA 和 Mockgoose。
使用 AVA 的 beforeEach 挂钩,我想将两个文档插入到我的数据库中,然后我可以在测试中使用它们。
代码如下所示:
然后我进行了这个测试以确保上面的代码有效:
该测试也成功并且工作正常。在这个测试之后,我有另一个测试:
当我切换测试顺序时,第一个测试仍然有效,第二个测试失败。因此,对于第一个测试,我的数据确实存在,而对于第二个测试,它不存在。这是为什么?为什么它在第一次测试中起作用?
如果我将 afterEach 钩子更改为 after 钩子,它会起作用,但我认为这不是应该的方式吗?我认为应该在每次测试后而不是在所有测试后重置数据库。
似乎 beforeEach 钩子只在第一次调用它时创建我的用户,然后就不再工作了..
这是我的数据库助手: