混合测试不插入数据?

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

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)

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

lovejiazhen 回答:混合测试不插入数据?

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

中进行设置
本文链接:https://www.f2er.com/3076706.html

大家都在问