メインコンテンツへスキップする

テストする

ユニットテストで ent.Client を使用している場合、生成された enttest パッケージを使用して、以下のようにクライアントを作成し、スキーマ・マイグレーションを自動実行することができます。

package main

import (
"testing"

"<project>/ent/enttest"

_ "github.com/mattn/go-sqlite3"
)

func TestXXX(t *testing.T) {
client := enttest.Open(t, "sqlite3", "file:ent?mode=memory&cache=shared&_fk=1")
defer client.Close()
// ...
}

Openに機能オプションを渡すには、 enttest.Option を使用します。

func TestXXX(t *testing.T) {
opts := []enttest.Option{
enttest.WithOptions(ent.Log(t.Log)),
enttest.WithMigrateOptions(migrate.WithGlobalUniqueID(true)),
}
client := enttest.Open(t, "sqlite3", "file:ent?mode=memory&cache=shared&_fk=1", opts...)
defer client.Close()
// ...
}