それで、私はグーグルのテストブログを読んでいました、そしてそれはグローバルな状態が悪くてテストを書くのを難しくしていると言います。私はそれを信じています-私のコードは今テストするのが難しいです。では、どうすればグローバル状態を回避できますか?
私がグローバルステートを使用する最大の目的は(私が理解しているように)、開発、受け入れ、および本番環境の間で重要な情報を管理することです。たとえば、「DBConnectionString」という静的メンバーを持つ「Globals」という名前の静的クラスがあります。アプリケーションがロードされると、ロードする接続文字列を決定し、Globals.DBConnectionStringにデータを入力します。ファイルパス、サーバー名、およびその他の情報をGlobalsクラスにロードします。
私の関数のいくつかはグローバル変数に依存しています。したがって、関数をテストするときは、最初に特定のグローバルを設定することを忘れないでください。そうしないと、テストが失敗します。これは避けたいです。
状態情報を管理する良い方法はありますか?(または、グローバル状態を誤って理解していますか?)