我正在使用 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 setup
与 meta
一起使用。
例子:
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/