问题标签 [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.
erlang - 如何不对 Rebar3 eunit 测试的 priv 目录进行符号链接?
使用时:
它将代码编译到 ebin 中,但其他目录在_build/test/lib
文件夹中是符号链接的。我尝试test
通过修改来使用配置文件:
这仅适用于_build/test/rel
目录,但不适用于 lib 目录。因此,在测试期间,他们引用了 lib 符号链接目录。有没有办法让这些目录不符号链接到原始目录,而是像发行版一样提供实际副本?
erlang - meck:validate 有什么意义?
作为 meck 的新手,我一直在整理一个测试来显示各种功能。但是,我无法理解为什么开发人员可能会调用 meck:validate。这是我的例子:
我错过了什么?
-- 更新以反映亚当解释的可以被抓住的案例
erlang - EUnit的assertMatch中有多个子句?
我正在使用 Erlang 的EUnit对应用程序进行单元测试。
我想断言某个测试值在 2 和 3 之间。 没有内置支持 this,所以我尝试使用一对防护,如下所示:
这会尝试对andalso
.
但是,这不起作用,大概是因为 Erlang 的解析器无法区分assertMatch
. 我尝试将各种东西用括号括起来,但没有找到任何有用的东西。另一方面,当我将表达式简化为一个子句时,它成功了。
有没有办法在这里表达多个子句?
erlang - 子进程上的 gen_server stop badmatch 已停止
我有一个table
过程,它创建 apid
作为board
其状态的一部分go()
。
我正在测试终止表也会终止董事会。但董事会并没有像预期的那样停止。
我的测试:
在table.erl
我实施:
我的结果是:
编辑:
我看到文字“终止”,但我知道停止会在返回之前等待终止完成。
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
在其测试中创建的自动终止进程?
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 测试?
erlang - 如何使用 Meck 逐步设置模拟?
我希望能够逐步设置模拟(使用 Meck),以便在不同的测试设置函数中设置对不同调用的期望。我想merge_expects
可能会成功。但我看到了意想不到的结果:
我知道我可以使用以下解决方法,但它会使我的测试变得丑陋:
erlang - 使用 Common Test 测试 gen_server 模块
我有这个(非常简单的)gen_server
实现:
现在我想编写一个通用测试套件来测试它——我刚开始学习这个。
...但是每次我运行(超小)套件/文件时,我都会收到一条奇怪的消息:
有什么线索吗?提前致谢!
erlang - 在 erlang eunit failure 中打印测试夹具描述
有没有办法打印使用夹具的 erlang 测试生成器的测试描述?使用生成器很难判断哪些测试实际上失败了,打印描述会有所帮助。
例子:
然后运行它
前两个错误没问题,但不是很好——您至少可以在断言中看到实际出错的地方。
然而,第三个错误(调用未定义的模块/方法)是发生可怕错误的地方——没有真正的方法可以判断它来自哪里!
有没有办法改进,比如打印带有失败日志的测试描述?
erlang - 如何使用多组参数值来使用相同的函数?
我正在尝试调用application:get_env
,但我正在测试一个使用两组不同参数调用它的函数。
我像这样设置了两个单独的调用,但是当我正在测试的meck:expect
函数尝试调用application:get_env(my_app, my_param_one)
它失败并抛出error:function_clause
.undefined
如何使用不同的参数值集找出相同的功能?