タグ

eloquentとモックに関するokyawaのブックマーク (2)

  • 【Laravel】DBに依存させずにEloquentモデルをテストする

    EloquentはLaravelに備わっているORM(Object-relational mapping)です。 Eloquent:利用の開始 5.7 Laravel オブジェクト関連マッピングとはオブジェクトとDB(データベース)の関連のマッピングのことであり、その都合上オブジェクトはデータベースと密接な関係にあります。 <?php class Post extends Model { // これだけでpostsテーブル中の各レコードを呼べる。 } この密接な関係のため、モデルをテストする際にDBが付きまといがちです。何を呼び出すにしても、DBの中を見に行きます。しかしモデルのメソッドのテストはDBから切り離されるべきです。これはモデルのテストがそれ以上掘り下げるべき最小単位のユニットテストであり、テスト失敗の原因がテストやソースコードのエラーかDBのエラーか考える手間を省くべきでもある

    【Laravel】DBに依存させずにEloquentモデルをテストする
  • どうしても Eloquent Model をモックしないといけないあなたへ

    はじめに Laravel を使っていると避けては通れない ORM の Eloquent. データベースをオブジェクト指向っぽく扱えるため非常に便利で,複雑なリレーションも簡単に扱えちゃう魔法の道具です. 例えば,主キーでモデルを取得するには以下のように書けば簡単に DB からデータが取得できます. 簡単ですね😁 さて,Laravel を使ったプロジェクトに限らず,プロダクトを開発する中で「テストコード」を書くことがありますが,テストを書く際にしばしば モック を使うことがあります. モック(オブジェクト)は,テスト対象となるクラスが依存する外部クラスの振る舞いを定義するもので,来使われるはずのオブジェクトの代わりに差し込むことで,テスト結果が外部のロジックによって左右されるのを防ぐことができます. Laravel 使って開発をしているなら, Mockery というモックライブラリを使っ

    どうしても Eloquent Model をモックしないといけないあなたへ
  • 1