単体テスト用にデータベースを準備する必要があるため、セットアップ方法でデータを削除したいと考えています。
DeleteAllData()
ただし、データ アクセス レイヤーのメソッドを呼び出せるようにするために、ユニット テスト dll 以外の誰かにはなりたくありません。何ができるでしょうか?
単体テスト用にデータベースを準備する必要があるため、セットアップ方法でデータを削除したいと考えています。
DeleteAllData()
ただし、データ アクセス レイヤーのメソッドを呼び出せるようにするために、ユニット テスト dll 以外の誰かにはなりたくありません。何ができるでしょうか?
メソッドへの呼び出しを行うコードを制限する方法を他の人が既に提案していますが、それらはセキュリティ境界を作成せず、スプーフィングされる可能性があります (両方のアセンブリに署名して証拠を検証しない限り)。
ビジネス ロジックに DeleteAllData というメソッドが含まれていると、かなり恐ろしく思えます。このメソッドが単体テストからのみ使用される場合は、おそらく単体テスト アセンブリに移動します。それが不可能な場合は、少なくともデバッグ モードでのみコンパイルするようにコードをコンパイラ ディレクティブに入れます。
internal
キーワードでマークします。MSDN ドキュメントから:
internal キーワードは、型および型メンバーのアクセス修飾子です。内部型または内部メンバーは、同じアセンブリ内のファイル内でのみアクセスできます