我正在使用ExUnit测试我的Elixir应用程序,这是一款纸牌游戏. 我发现,在我写的每一个测试中,我都会先创建一副新的卡片. test "Do This Crazy Thing do deck = Deck.create() [...]endtest "Do This Other Crazy
我发现,在我写的每一个测试中,我都会先创建一副新的卡片.
test "Do This Crazy Thing do deck = Deck.create() [...] end test "Do This Other Crazy Unrelated Thing" do deck = Deck.create() [...] end
有没有办法解决这个问题,以便可以在每个测试用例之前创建一个新的套牌?我知道有一些事情与设置结束有关,但我认为这不是我的解决方案.
我需要一个不同的测试框架吗?我是否需要以某种方式使用设置我还没想过?
-Augie
您可以使用def设置与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更多信息