问题标签 [ex-unit]
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.
elixir - 如何在运行 ExUnit 测试时仍将日志打印到控制台?
出于在集成测试失败期间进行调试的目的,我希望仍然能够查看我的应用程序日志。有没有我可以传递给mix test
任务的命令来完成这个?
elixir - ExUnit 模拟序列
是否可以使用 ExUnit Mock 模拟一系列返回值,就像 meck 在 Erlang 中提供此功能一样?
如果没有,是否可以在同一个单元测试 ExUnit Elixir 模块中成功结合 meck 和 mock?
elixir - Elixir:测试失败消息
使用 Elixir 的 ExUnit 进行单元测试,每个人似乎都对测试失败消息感到兴奋。但是,如果我正在测试除 之外的任何内容==
,我似乎无法收到有用的错误消息。
例如
我更喜欢编写我的测试,以便我的失败能够提供更多信息,让我能够快速迭代他们提供的反馈。有没有办法获得更多信息的测试失败?例如
elixir - ** (Plug.Conn.AlreadySentError) 响应已经发送
我一直在研究这个问题,面临几乎相同的挑战(和答案)
- 除了我的技术非常低,我对自己缺乏洞察力感到非常尴尬 <:/
系统
痕迹
网络/路由器.ex
测试/test_helper.exs
测试/控制器/blog_controller_test.exs
elixir - 在伞形应用程序中测试 Ecto 2.0
我正在尝试在伞下设置一个应用程序来处理业务逻辑。它使用 Ecto 与数据库进行交互。我在设置 SQL.Sandbox 进行测试时遇到问题。每当我运行测试时,我都会收到此错误:
我的 config.exs 看起来像这样:
我的 test_helper.exs 是:
elixir - 如何在 Phoenix.ConnTest 中指定格式?
我在凤凰控制器中有一个非常简单的代码。它做了一些事情并根据格式返回内容:
它工作正常,但我在测试它时遇到了问题。我无法测试 html 返回。我该怎么做?dispatch/5没有任何与格式相关的内容。
elixir - 当我第一次在我的测试环境中编译时,Mix 会警告我一个未定义的模块。如何忽略它?
我在我的 test/ 目录中定义了一个模块,用于模拟:crypto.strong_rand_bytes/1
输出随机值的函数。
在我的测试配置中,我替换了包含函数的“模块”,如下所示:
config :lottosim, :crypto, Lottosim.Test.RandomQueue
lib/ 目录下的模块通过定义一个模块属性来引用这个配置:
@crypto Application.get_env(:lottosim, :crypto) || :crypto
然后调用该函数:
@crypto.strong_rand_bytes(1)
.
因为 test/ 目录中的模块 RandomQueue 是在我的 lib/ 目录中的模块之后编译的,所以在我第一次编译我的项目时会显示以下警告MIX_ENV=test
:
warning: function Lottosim.Test.RandomQueue.strong_rand_bytes/1 is undefined (module Lottosim.Test.RandomQueue is not available)
到实际运行测试时,模块已正确定义并且一切都通过了。
此外,警告不再显示在以下编译中,每次运行时仅显示一次mix clean
。
有没有办法忽略这个警告?
有没有更好的方法来“劫持”未显示此警告的功能?
elixir - 如何在带有某些标签的 ExUnit 测试开始之前执行某些命令
我有一个测试套件,它使用wallaby
需要重量级 webpack 构建才能使用的库。问题是我这个 webpack 构建太重,无法在仅模型测试之前使用它,例如。
所以,我决定使用这个功能:
- 用一些标签标记所有小袋鼠测试,即:
@tag :wallaby
- 检查是否存在至少一个被小袋鼠测试标记的用于运行测试套件的测试
- 如果是这样,请等待构建,然后运行整个测试套件。
这是最好的设计吗?我该如何实施?
testing - 如何为 ExUnit 实现“assert_difference”
我想测试一个函数如何改变数据库中的某些内容。我正在努力使用与以下ActiveSupport::TestCase
测试用例等效的 ExUnit:
RSpec 版本更加优雅,并且由于它使用了 lambda,我认为它可以移植到 Elixir/ExUnit。
有没有比这更优雅(阅读:功能)的方式来做到这一点:
elixir - 如何使用“混合测试”列出所有测试
是否有一个我可以结合使用的命令行调用mix
将输出所有测试名称而不运行测试?