Spring Rooを試してみようと思ったので、今日はたくさんの新しい楽しい問題がありました。うまくいけば、皆さんは最新のもので私を助けることができます。Rooにはエンティティの統合テストを生成する機能がありますが、ほとんどの場合失敗します。最も一般的な失敗は、nullがnull以外のフィールドに挿入されているなどの何らかの形の制約違反です。私のエンティティには、データベースにこれらの制約を反映するものが何もないことに気づきました。
たとえば、プロパティエンティティはTermと多対1の関係にあります
//bi-directional many-to-one association to Term
@ManyToOne
@JoinColumn(name="TERM_ID",)
private Term term;
これを次のように変更します。
//bi-directional many-to-one association to Term
@ManyToOne(optional=false)
@JoinColumn(name="TERM_ID", nullable=false)
private Term term;
それでもテストは失敗するので、RooがTermエンティティを自動的に作成するのに十分賢いかどうかはわかりません。
だから私の質問は、Rooが再起動時にそれらを上書きすることなく、これらの生成されたテストを変更できるかどうかです。または、Rooはnull以外の値を設定できる必要がありますか?
統合テストや、生成されたクラスで何ができるかについては、実際には多くのドキュメントがありません。私は少なくとも見つけることができた:)
ありがとう