我为插入模式编写了一个测试代码。
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)
测试代码是否通过模式插入数据?
您的仓库已设置为沙盒模式。这意味着事务结束(包装的单元测试)后,它将为您回滚事务。此配置通常在test.exs文件中,也可以在test/test_helper.exs