2

グレイル初心者です。単体テストを理解しようとしていました..ドメインクラスを作成すると、AuthorgrailsAuthorControllerTestsはそのドメインのテストコントローラーを自動的に作成します。

それで 。テスト コントローラーの 2 行目は @Mock(Author) です。

それはどういう意味ですか..ドメインクラスをモックするときに得られる利点は何ですか?

4

2 に答える 2

1

テストに関する広範なドキュメントで述べられているように:

モック アノテーションは、コラボレーターのモック バージョンを作成します。GORM API とのほとんどのやり取りをシミュレートする GORM のメモリ内実装があります。自動的にモックされない対話については、プログラムでモックとスタブを定義するための組み込みサポートを使用できます。

また、AuthorControllerTests は、Author ドメイン クラスではなく、AuthorController のテストです。

于 2012-06-30T07:37:50.303 に答える
1

何かを追加するだけで、コントローラーのようにコードの「ユニット」を分離する必要がある場合に、モッキングが役立ちます。

分離とは、単純なコンポーネントを作成して、すべての依存関係を再プレートしてシミュレートすることを意味します。この単純なコンポーネントは、モックと呼ばれるものです。

ここで Grails を使用すると、ドメイン クラスをモックすることができます。これにより、情報がデータベースに保存されないため、テストが容易になります。

コントローラーからデータベースまでのスタック全体をテストしたい場合、それは統合テストと呼ばれるものです。

それが役に立てば幸い

于 2012-07-05T09:43:02.017 に答える