【发布时间】:2017-06-02 04:03:46
【问题描述】:
我有一个使用 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 问题。
【问题讨论】:
-
如果您使用诊断详细信息启动 cake,您将获得更多日志记录和用于启动 xunit 的命令行。您可以在以下问题中阅读更多信息stackoverflow.com/questions/38658660/…
标签: c# integration-testing xunit cakebuild