私は、テストで偽/擬似メソッドが何回呼び出されたかをアサートできることが重要であり、証言のようなものを使用せずにこれを行う最良の方法が何であるか疑問に思っています。私の場合、模擬メソッドへの呼び出しは、再帰呼び出しの結果です。assert_called_once()またはassert_called_xyz()....同等ですか?
私は様々な動物でテーブル駆動のテストをしていると言いますが、Helloは実際にはいくつかのテストでは呼び出されますが、他のテストでは呼び出されないと主張したいと思います。いくつかのケースでは、与えられたテスト(スライス上での反復)に対して複数回呼び出される必要があります。
カウンタを追加して、テーブル駆動型テストでそれをアサーションするだけでよいですか?おそらくもっと良い方法があるように思えます。
私はhelloメソッドにカウンタを追加します...これは対処し、これをチェックするのが適切です。偽のメソッド自体やテストなどで?
type fakeFarmService struct {
\t abc.someFarmServiceInterface
}
func (f *fakeFarmService) Hello(ctx context.Context, in *abc.FarmRequest) (*abc.FarmResponse, error) {
\t if in.GetAnimal() == Monkey {
\t \t return &abc.HelloResponse{}, nil
\t }
\t return nil, errors.New("an error")
}