混合测试是否不插入数据?

问题描述 投票:0回答:1

我为插入模式编写了一个测试代码。

defmodule DbServerWeb.GameSchemaTest do
  use ExUnit.Case, async: true
  use DbServer.DataCase

  alias DbServer.Games
  alias DbServer.Schema.Game

  describe "insertion" do
    @valid_params %{game_name: "test_name"}
    @invalid_params %{game_name: nil}

    test "insertion with valid data" do
      assert {:ok, %Game{} = game} = Games.create_game(@valid_params)
      assert game.game_name == "test_name"
    end

    test "insertion with invalid data" do
      assert {:error, %Ecto.Changeset{}} = Games.create_game(@invalid_params)
    end
  end
end

然后终端输出:

.....

Finished in 0.1 seconds
5 tests, 0 failures

Randomized with seed 820825

但是我的游戏表中什么都没有。

 id | game_name | inserted_at | updated_at 
----+-----------+-------------+------------
(0 rows)

测试代码是否通过模式插入数据?

elixir phoenix-framework ecto
1个回答
0
投票

您的仓库已设置为沙盒模式。这意味着事务结束(包装的单元测试)后,它将为您回滚事务。此配置通常在test.exs文件中,也可以在test/test_helper.exs

中设置
© www.soinside.com 2019 - 2024. All rights reserved.