私はロイ・オセロベによるユニットテストの芸術を読んでいます。私はセクション7.2にいます。ここでは、作成者がコードのにおいについてこのメモを持っています。
注:外部テストから見えるように内部状態をリファクタリングする場合、それはコードのにおい(コードの設計またはロジックに問題がある可能性がある兆候)と見なすことができますか?共同編集者を公開するためにリファクタリングしているときは、コードのにおいではありません。リファクタリングを行っていて、共同編集者がいない場合は、コードのにおいです(したがって、何もスタブしたりモックしたりする必要はありません)。
編集:著者が「共同編集者」によって意味するのは依存関係です。彼の依存関係の例には、データベースにアクセスするクラスや、OSのファイルシステムにアクセスするクラスがあります。ここで、彼はスタブを定義し、コラボレーターという言葉を使い始めます。
スタブは、既存の制御置換である依存性(または 共同編集システムにおいて)。
作者にはこのコードの匂いの例はなく、これがどのように見えるか理解/描写するのに苦労しています。誰かがこれをもう少し説明して、おそらく具体的な例を提供できますか?