11

DocumentDB (CosmosDB)をストレージとして使用する dotnetコアアプリケーションのxUnit 単体テストケースを作成しています。単体テストは、ローカル cosmos db emulatorに対して実行するように記述されています。Azure DevOps ビルド環境で、エミュレーターをインストールするためのコンテナーを内部的に作成するAzure Cosmos DB CI/CD タスクをセットアップしました。ただし、エミュレーターのエンドポイントを xUnit フィクスチャに渡す方法がわかりません。

xUnit フィクスチャが .runsettings テスト パラメータを読み取る方法や、パラメータを他のソース経由で渡す方法はありますか?

アップデート

現在、環境変数を使用してシナリオを実装しましたが、ビルド タスクで powershell を使用して接続文字列を環境変数として定義し、単体テストの実行中にコードから読み取ることに満足していません。それを達成する別の方法があるかどうかを考えていました..

以下のスナップショットは、目的を達成するための回避策として現在ビルド タスクがどのように構成されているかを示しています。 ここに画像の説明を入力

そして、値を次のように読み取るコード

var serviceEndpoint = Environment.GetEnvironmentVariable("CosmosDbEmulatorEndpointEnvironmentVariable");

UnitTest タスクは .runsettings/.testsettings を渡すオプションを提供し、テスト実行パラメーターをオーバーライドするオプションを提供するため、これらのオプションを使用して何かを達成できると考えていました。

4

2 に答える 2