问题标签 [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 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?
javascript - AVA + React-Native 的测试配置
我尝试使用AVA和babel-preset-react-native测试我的 react-native 应用程序
我的配置如下所示:
......并像这样失败:
如果我在 .babelrc 文件中导出这个 babel 配置并在我的 AVA 配置中使用 "babel": "inherit",它会以另一种方式失败:
我不明白如何正确配置它。我试过摩卡,遇到同样的问题。
ava - ava: SyntaxError: 意外的令牌导入
所以 ava 带有内置的 ES2015 支持,这对于我的实际测试文件来说效果很好。但是,当我这样做时
我无法import
在帮助文件中使用和导出,然后我得到:
对于开箱即用的测试文件,我没有设置特定的 babel 配置。谁能向我解释为什么辅助依赖项没有用 babel 转译?使用test/**/helpers
甚至遵循ava 约定。
谢谢,罗宾
解决方案
因此,基于thanggoc89的解决方案,我为使其工作所做的工作是:
- 添加
.babelrc
内容:
- 添加到
package.json
:
javascript - 使用 ava 测试访问全局命名空间
我正在使用“ava”框架进行反应测试,这是一段 package.json:
测试代码:
并且有错误听起来像:
我应该怎么做才能让我的测试访问全局命名空间(窗口、历史等)?谢谢
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 配置。
ava - 针对数据库的集成测试 - AVA
编写单元测试后,我面临着集成测试,其中包括针对数据库(rethinkdb)测试库。
每个测试用例之间必须相互独立,并且每次测试后都会清空数据库,这样它们就不会出现误报。
由于 AVA 架构是并行运行测试,我发现我无法以这种方式实现正面测试。前任:
我被迫使用串行功能让每个测试以串行方式完成并清除数据库。
如果测试同时共享相同的数据,我的测试可能会更新或删除可能导致误报的数据。
如果我正在编写的测试只是读取数据,我可以像问题#311中提到的那样执行播种pre
和清理操作,并保持测试并行。post
我还发现非常好,我可以使用t.context
并将用户/任务对象传递到我的测试中。
这是我们被迫使用串行测试执行的罕见情况吗?
您将如何使用 ava 处理此类测试?
ava - AVA afterEach() 回调未完成
似乎如果我尝试从always.afterEach()
函数中执行异步操作(或者只是缓慢?),则当测试失败时,进程不会等待它完成。我的具体情况是,我在每次测试后都尝试进行一些数据库清理,即使afterEach
钩子被调用,它似乎也没有机会在进程退出之前完成。
我试图将其提炼成一个简单的例子:
这是我得到的输出:
我希望看到END CLEANUP
打印(测试通过时确实会发生这种情况。
我是服务器端 JS 的新手,所以我希望我只是在做一些愚蠢的事情。
更新:事实证明,这只在设置失败快速标志时才会中断。这可能是一个错误。
javascript - 单元测试反应动作 - browserHistory 未定义
我为我的行为编写测试,使用
当我运行测试时,由于未知原因,导入的 browserHistory 未定义。因此,测试抛出一个错误——“无法读取未定义的属性‘push’”;我不知道,为什么 browserHistory 未定义,如果它在我的应用程序中有效。有人可以帮助我吗?
async-await - 使用 sinon 存根时 ava 异步测试的问题
我有几个测试要在我的一个依赖项的.then
和.catch
块上运行。
如果您单独运行任一测试,则测试通过。但是如果你一起运行这些,测试 A 的设置运行,然后在它完成之前,测试 B 的设置运行,你得到这个错误:
也许我不明白我应该如何设置我的测试。有没有办法在测试 B 开始运行之前强制测试 A 完成?
javascript - 使用 ava 进行 React Native 单元测试
我已经尝试按照此处关于使用 AVA 对 js 代码进行单元测试的简单设置进行操作,但我做错了,因为似乎没有考虑到设置。例外:
我的 RN 项目的根目录中有一个测试文件夹。
我的 _Setup.js 文件如下所示:
我的 package.json 相关部分看起来像
测试文件:
.babelrc 只有
任何提示表示赞赏!感谢:D!