testing - Elixir 测试 - ExUnit - 重复数据实例

标签 testing tdd elixir

我正在使用 ExUnit 测试我的 Elixir 应用,这是一款纸牌游戏。

我发现在我编写的每个测试中,我都是从创建一副新牌开始的。

test "Do This Crazy Thing do
  deck = Deck.create()
  [...]
end

test "Do This Other Crazy Unrelated Thing" do
  deck = Deck.create()
   [...]
end

有没有办法解决这个问题,以便在每个测试用例之前创建一个新的套牌?我知道 setup do [...] end 有一些接近于此的方法,但我认为这不是适合我的解决方案。

我需要不同的测试框架吗?我是否需要以某种我尚未想到的方式使用 setup

-奥吉

最佳答案

您可以将 def setupmeta 一起使用。

例子:

defmodule DeckTest do
  use ExUnit.Case

  setup do
    {:ok, cards: [:ace, :king, :queen] }
  end

  test "the truth", meta do
    assert meta[:cards] == [:ace, :king, :queen]
  end
end

Here's更多信息

关于testing - Elixir 测试 - ExUnit - 重复数据实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20943347/

相关文章:

javascript - Jasmine,需要和 Play Framework

spring - 使用 Spring Boot 1.4.1 和 H2 测试 JPA

elixir - 如何使用最新的 1.6.0-dev 版本创建一个新的 Phoenix 项目?

elixir - 如何创建一组自定义模板并将其集成到 Phoenix 框架 (Elixir) 中

semantic-ui - 如何将 Semantic-UI 添加到 Phoenix

python - 让 Python 的 coverage.py 收集导入它的模块的覆盖率?

testing - Cypress 在多个测试套件中重用测试用例

unit-testing - 单元测试大方法

testing - 如何将数据从一些 json 文件传递​​到 Gherkin 特征文件

python - 使用私钥进行 Testinfra ssh 执行