[解決済み] 内部コードを他のプロジェクトからのユニットテストに利用できるようにする
2022-07-01 16:50:59
質問
私たちは、すべてのユニットテストを独自のプロジェクトに配置します。 私たちは、ユニットテストのために、特定のクラスを内部ではなく、パブリックにしなければならないことに気づきました。 これを行う必要がないようにする方法はありますか。 クラスを sealed ではなく public にすることによるメモリへの影響はどのようなものでしょうか。
どのように解決するのですか。
.NETを使用している場合は InternalsVisibleTo アセンブリ属性を使用すると、"friend" アセンブリを作成することができます。 これらは、他のアセンブリの内部クラスやメンバへのアクセスを許可された、特定の強い名前を持つアセンブリです。
注意:これは関係するアセンブリを緊密に結合するため、慎重に使用する必要があります。 InternalsVisibleTo の一般的な使用法は、ユニット テスト プロジェクトです。 上記の理由から、実際のアプリケーションのアセンブリで使用するには、おそらく良い選択ではありません。
例です。
[assembly: InternalsVisibleTo("NameAssemblyYouWantToPermitAccess")]
namespace NameOfYourNameSpace
{
関連
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】スクリプトクラスが見つからないので、スクリプトコンポーネントを追加できない?
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C# "internal "アクセス修飾子でユニットテストを行う場合
-
[解決済み] パブリックフィールドとオートマチックプロパティ
-
[解決済み】PHPUnitでprotectedメソッドをテストするためのベストプラクティス
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] C# "internal "アクセス修飾子でユニットテストを行う場合
-
[解決済み] VS2017 .NET 標準ライブラリの内部メソッドのユニットテスト