Mnemonics を使った code を test しやうとする。test で使ふ data は、實働環境から独立である必要が在る、即ち test で使ふ data はは test 内に書かれてあるのが好い。又 test で使ふ data は、他の test からも独立である必要が在る、即ち或る test が書き換へた data が他の test に影響しないのが好い。PostgreSQL 等の DB を使った code を test するには 2 つの方法が在る。ひとつには DB と遣り取りする函數を mock して了ふ。もうひとつは test 毎に一意な data を DB に書き込む。test 毎に一意であればその data は他のどこからも讀み出せない。RDB であれば通常は、一意な primary key を test の外で生成して
與へ、與へられた key の data 以外には手を触れないと取り決めてやる。所謂 test factory だ。Rails/ActiveRecord だとFactoryBotが有名だ。Elixir/Ecto だとExMachinaが有名である。例へばこう使ふ。
defmoduleFactorydouseExMachina.Ectodefuser_factorydo
id = sequence("")
%User{id:String.to_integer(id), name:"user"<> id}
endenddefmoduleUserTestdoimportFactoryuseExUnit.Case
test "authorized?"do
user = insert(:user)
assert User.authorized?(user)
endend