为什么我的 .net core xunit 测试找不到我的 appsettings.json?
Why can't my .net core xunit test find my appsettings.json?
我是 testing/development 的新手。我在 .net 核心中创建了一个 x 单元测试项目,用于使用 selenium 测试我网站的 UI。我的文件结构如下所示
这是我的 appsettings.json:
{
"Base_Url": "https://pretendurl/",
"AllowedHosts": "*"
}
这是我的测试class:
using Xunit;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System;
using Microsoft.Extensions.Configuration;
using System.Configuration;
namespace XUnitTestProject1.UI.Tests
{
public class HomePageShould
{
[Fact]
public void LoadHomepage()
{
using IWebDriver driver = new ChromeDriver();
var settings = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
var homeUrl = settings["Base_Url"];
driver.Navigate().GoToUrl(homeUrl);
}
}
}
我收到此错误:配置文件 'appsettings.json' 未找到并且不是可选的。我的测试项目与我正在测试的系统在一个单独的仓库中。
在VS中更改json文件的'Copy to output folder'属性。需要将其复制到应用程序将 运行.
所在的输出文件夹
您需要更新 XUnitTestProject1.UI.Tests.csproj
才能将您的应用程序设置导出到构建文件夹。
<ItemGroup>
<None Update="appsettings.Test.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
您应该使用您的测试设置在您的测试项目中重新创建一个单独的 appsettings.Test.json
文件,上面的代码会将其复制到构建文件夹。
我是 testing/development 的新手。我在 .net 核心中创建了一个 x 单元测试项目,用于使用 selenium 测试我网站的 UI。我的文件结构如下所示
这是我的 appsettings.json:
{
"Base_Url": "https://pretendurl/",
"AllowedHosts": "*"
}
这是我的测试class:
using Xunit;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System;
using Microsoft.Extensions.Configuration;
using System.Configuration;
namespace XUnitTestProject1.UI.Tests
{
public class HomePageShould
{
[Fact]
public void LoadHomepage()
{
using IWebDriver driver = new ChromeDriver();
var settings = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
var homeUrl = settings["Base_Url"];
driver.Navigate().GoToUrl(homeUrl);
}
}
}
我收到此错误:配置文件 'appsettings.json' 未找到并且不是可选的。我的测试项目与我正在测试的系统在一个单独的仓库中。
在VS中更改json文件的'Copy to output folder'属性。需要将其复制到应用程序将 运行.
所在的输出文件夹您需要更新 XUnitTestProject1.UI.Tests.csproj
才能将您的应用程序设置导出到构建文件夹。
<ItemGroup>
<None Update="appsettings.Test.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
您应该使用您的测试设置在您的测试项目中重新创建一个单独的 appsettings.Test.json
文件,上面的代码会将其复制到构建文件夹。