我有一个使用 XUnit 访问数据库的集成测试。我们需要能够从 app.config 文件中获取数据库连接字符串。
从 IDE 运行测试时,它运行良好,并且找到了连接字符串。当我从 cake.build 自动运行测试时 ConfigurationManager.ConnectionStrings["blahblah"] ret
var connectionStringSettings = ConfigurationManager.ConnectionStrings["FlexConnString"];
if (connectionStringSettings == null)
{
Console.WriteLine("ConfigManager does not return a setting for FlexConnString");
_connectionString = "No Connection string";
}
蛋糕任务是
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"
});
});
从 powershell 运行 build.cake 时,此输出 ConfigManager 不会返回 FlexConnString' 的设置。
我不确定这是 XUnit 问题还是 Cake 问题。