问题标签 [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 回答
2187 浏览

javascript - AVA testing problems

I am trying to write a test using AVA but I can't seem to get it to work write. fn passes the callback function through all of my functions and calls it once it's done everything. My test is

The res is

but it is saying that my test is passing. I've been following this test. Here is the snippet I've been looking at

Can someone explain to me what I am doing wrong?

0 投票
1 回答
1011 浏览

javascript - AVA + React-Native 的测试配置

我尝试使用AVAbabel-preset-react-native测试我的 react-native 应用程序

我的配置如下所示:

......并像这样失败:

如果我在 .babelrc 文件中导出这个 babel 配置并在我的 AVA 配置中使用 "babel": "inherit",它会以另一种方式失败:

我不明白如何正确配置它。我试过摩卡,遇到同样的问题。

0 投票
3 回答
7753 浏览

ava - ava: SyntaxError: 意外的令牌导入

所以 ava 带有内置的 ES2015 支持,这对于我的实际测试文件来说效果很好。但是,当我这样做时

我无法import在帮助文件中使用和导出,然后我得到:

对于开箱即用的测试文件,我没有设置特定的 babel 配置。谁能向我解释为什么辅助依赖项没有用 babel 转译?使用test/**/helpers甚至遵循ava 约定

谢谢,罗宾

解决方案

因此,基于thanggoc89的解决方案,我为使其工作所做的工作是:

  1. 添加.babelrc内容:
  1. 添加到package.json
0 投票
1 回答
735 浏览

javascript - 使用 ava 测试访问全局命名空间

我正在使用“ava”框架进行反应测试,这是一段 package.json:

测试代码:

并且有错误听起来像:

我应该怎么做才能让我的测试访问全局命名空间(窗口、历史等)?谢谢

0 投票
1 回答
1530 浏览

babeljs - 将 babel-register 与 AVA 和 .babelrc 的 `"ignore": false` 一起使用,但 node_modules 没有被转译

我试图在运行 AVA 测试时转换源文件(及其在 node_modules 中的依赖项)。我已将 AVA 配置为需要babel-register并继承我的.babelrc文件,其中包含以下内容package.json

这在.babelrc

我有一个测试规范,它导入一个源文件,并且该源文件从 node_modules 导入一个 ES2015 依赖项

但是,运行时ava我看到:

这告诉我源文件 ( src/app/utils.js) 确实转换了,但它在 node_modules ( capitalize-string/index) 中的依赖项没有。

当我使用 babel CLI 时,源模块和依赖项都可以很好地转换,所以看起来.babelrc's"ignore": false设置并没有传递给babel-register. 我可以从 babel 文档中看到,您可以将忽略选项显式传递给babel-register,但我看不出如何从 AVA 配置中做到这一点。我什至尝试在导入源文件的行之前将以下内容添加到我的测试文件中,但我仍然看到相同的错误:

我想我可以在测试之前添加一个 transpile 步骤,但我想确保我不只是首先缺少一些 AVA 或 babel 配置。

0 投票
1 回答
1279 浏览

ava - 针对数据库的集成测试 - AVA

编写单元测试后,我面临着集成测试,其中包括针对数据库(rethinkdb)测试库。

每个测试用例之间必须相互独立,并且每次测试后都会清空数据库,这样它们就不会出现误报。

由于 AVA 架构是并行运行测试,我发现我无法以这种方式实现正面测试。前任:

我被迫使用串行功能让每个测试以串行方式完成并清除数据库。

如果测试同时共享相同的数据,我的测试可能会更新或删除可能导致误报的数据。

如果我正在编写的测试只是读取数据,我可以像问题#311中提到的那样执行播种pre和清理操作,并保持测试并行。post

我还发现非常好,我可以使用t.context并将用户/任务对象传递到我的测试中。

这是我们被迫使用串行测试执行的罕见情况吗?

您将如何使用 ava 处理此类测试?

0 投票
0 回答
239 浏览

ava - AVA afterEach() 回调未完成

似乎如果我尝试从always.afterEach()函数中执行异步操作(或者只是缓慢?),则当测试失败时,进程不会等待它完成。我的具体情况是,我在每次测试后都尝试进行一些数据库清理,即使afterEach钩子被调用,它似乎也没有机会在进程退出之前完成。

我试图将其提炼成一个简单的例子:

这是我得到的输出:

我希望看到END CLEANUP打印(测试通过时确实会发生这种情况。

我是服务器端 JS 的新手,所以我希望我只是在做一些愚蠢的事情。

更新:事实证明,这只在设置失败快速标志时才会中断。这可能是一个错误。

0 投票
2 回答
3358 浏览

javascript - 单元测试反应动作 - browserHistory 未定义

我为我的行为编写测试,使用

当我运行测试时,由于未知原因,导入的 browserHistory 未定义。因此,测试抛出一个错误——“无法读取未定义的属性‘push’”;我不知道,为什么 browserHistory 未定义,如果它在我的应用程序中有效。有人可以帮助我吗?

0 投票
2 回答
5970 浏览

async-await - 使用 sinon 存根时 ava 异步测试的问题

我有几个测试要在我的一个依赖项的.then.catch块上运行。

如果您单独运行任一测试,则测试通过。但是如果你一起运行这些,测试 A 的设置运行,然后它完成之前,测试 B 的设置运行,你得到这个错误:

也许我不明白我应该如何设置我的测试。有没有办法在测试 B 开始运行之前强制测试 A 完成?

0 投票
1 回答
510 浏览

javascript - 使用 ava 进行 React Native 单元测试

我已经尝试按照此处关于使用 AVA 对 js 代码进行单元测试的简单设置进行操作,但我做错了,因为似乎没有考虑到设置。例外:

我的 RN 项目的根目录中有一个测试文件夹。

我的 _Setup.js 文件如下所示:

我的 package.json 相关部分看起来像

测试文件:

.babelrc 只有

任何提示表示赞赏!感谢:D!