データベースにアクセスするXUnitを使用して統合テストを行っています。 app.configファイルからデータベース接続文字列を取得できる必要があります。CUDEビルドスクリプト:XUnit統合テスト実行時のエラー - ConfigurationManager.ConnectionStrings ["FlexConnString"]を取得できません
IDEからテストを実行すると、正常に動作し、接続文字列が見つかります。私はcake.buildから自動的にテストを実行すると ConfigurationManager.ConnectionStringsは、[ "blahblah"]これはFlexConnStringの設定を返さないCONFIGMANAGERを出力ケーキタスクがある
Task("Run-Integration-Tests")
.IsDependentOn("Run-Unit-Tests")
.Does(() =>
{
var testDir = "./artifacts/_tests/**/*.IntegrationTests.dll";
Information("Start Running Integration Tests in " + testDir);
XUnit2(testDir,
new XUnit2Settings {
Parallelism = ParallelismOption.All,
HtmlReport = true,
NoAppDomain = true,
NUnitReport = true,
XmlReport = true,
ReportName = "MixTdiIntegrationTestResults",
OutputDirectory = "./artifacts"
});
});
を
var connectionStringSettings = ConfigurationManager.ConnectionStrings["FlexConnString"];
if (connectionStringSettings == null)
{
Console.WriteLine("ConfigManager does not return a setting for FlexConnString");
_connectionString = "No Connection string";
}
をRET 'は、PowerShellからbuild.cakeを実行しています。
これがXUnitの問題であるかケーキの問題であるかわかりません。
診断の冗長性を備えたケーキを起動すると、より多くのロギングとxunitの起動に使用されるコマンドラインが得られます。下記の質問 の詳細については、https://stackoverflow.com/questions/38658660/how-to-enable-diagnostic-verbosity-for-cakeを参照してください。 – devlead