问题标签 [eunit]

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 回答
252 浏览

erlang - 如何不对 Rebar3 eunit 测试的 priv 目录进行符号链接?

使用时:

它将代码编译到 ebin 中,但其他目录在_build/test/lib文件夹中是符号链接的。我尝试test通过修改来使用配置文件:

这仅适用于_build/test/rel目录,但不适用于 lib 目录。因此,在测试期间,他们引用了 lib 符号链接目录。有没有办法让这些目录不符号链接到原始目录,而是像发行版一样提供实际副本?

0 投票
1 回答
701 浏览

erlang - meck:validate 有什么意义?

作为 meck 的新手,我一直在整理一个测试来显示各种功能。但是,我无法理解为什么开发人员可能会调用 meck:validate。这是我的例子:

我错过了什么?

-- 更新以反映亚当解释的可以被抓住的案例

0 投票
2 回答
409 浏览

erlang - EUnit的assertMatch中有多个子句?

我正在使用 Erlang 的EUnit对应用程序进行单元测试。

我想断言某个测试值在 2 和 3 之间。 没有内置支持 this,所以我尝试使用一对防护,如下所示:

这会尝试对andalso.

但是,这不起作用,大概是因为 Erlang 的解析器无法区分assertMatch. 我尝试将各种东西用括号括起来,但没有找到任何有用的东西。另一方面,当我将表达式简化为一个子句时,它成功了。

有没有办法在这里表达多个子句?

0 投票
1 回答
85 浏览

erlang - 子进程上的 gen_server stop badmatch 已停止

我有一个table过程,它创建 apid作为board其状态的一部分go()

我正在测试终止表也会终止董事会。但董事会并没有像预期的那样停止。

我的测试:

table.erl我实施:

我的结果是:

编辑:

我看到文字“终止”,但我知道停止会在返回之前等待终止完成。

0 投票
1 回答
148 浏览

erlang - 来自已终止进程的错误报告(预计是正常的)

我有一个测试模块来测试我的Table模块。我的Table模块在终止时调用:

这是我的代码中唯一会停止Board进程的部分。

运行测试后,大约一分钟后我会得到这个:

看起来Board模块未正确终止。的Board终止是这样的:

我试图在一个独立的模块中重现这个b

不成功:

4> {ok, B} = b:go(). {ok,<0.74.0>} 5> gen_server:stop(B). Table Terminating.{1,2}

我想知道的是,我应该寻找什么样的代码会导致我的董事会得到** Reason for termination == ** {terminated停止的理由?

完整来源在这里:git@github.com:QuantumProductions/tunnel.git

编辑:董事会包括这个

编辑:我最好的猜测是eunit在其测试中创建的自动终止进程?

0 投票
1 回答
630 浏览

erlang - 使用 Rebar3 Common Test 在包含文件夹中找不到 hrl 文件,但 eunit 可以

使用rebar3 eunit它可以-include("some_file.hrl")在测试中处理,但这不适用于rebar3 ct. 由于某种原因,当我使用rebar3 ct它时尝试编译我的 eunit 测试并失败,因为它找不到 eunit 测试中使用的 .hrl 文件。...can't find include file "some_file.hrl"我究竟做错了什么?为什么当我尝试运行 CT 测试时它会编译 eunit 测试?

0 投票
1 回答
181 浏览

erlang - 如何使用 Meck 逐步设置模拟?

我希望能够逐步设置模拟(使用 Meck),以便在不同的测试设置函数中设置对不同调用的期望。我想merge_expects可能会成功。但我看到了意想不到的结果:

我知道我可以使用以下解决方法,但它会使我的测试变得丑陋:

0 投票
1 回答
244 浏览

erlang - 使用 Common Test 测试 gen_server 模块

我有这个(非常简单的)gen_server实现:

现在我想编写一个通用测试套件来测试它——我刚开始学习这个。

...但是每次我运行(超小)套件/文件时,我都会收到一条奇怪的消息:

有什么线索吗?提前致谢!

0 投票
2 回答
436 浏览

erlang - 在 erlang eunit failure 中打印测试夹具描述

有没有办法打印使用夹具的 erlang 测试生成器的测试描述?使用生成器很难判断哪些测试实际上失败了,打印描述会有所帮助。

例子:

然后运行它

前两个错误没问题,但不是很好——您至少可以在断言中看到实际出错的地方。

然而,第三个错误(调用未定义的模块/方法)是发生可怕错误的地方——没有真正的方法可以判断它来自哪里!

有没有办法改进,比如打印带有失败日志的测试描述?

0 投票
1 回答
217 浏览

erlang - 如何使用多组参数值来使用相同的函数?

我正在尝试调用application:get_env,但我正在测试一个使用两组不同参数调用它的函数。

我像这样设置了两个单独的调用,但是当我正在测试的meck:expect函数尝试调用application:get_env(my_app, my_param_one)它失败并抛出error:function_clause.undefined

如何使用不同的参数值集找出相同的功能?