我有一个具有以下结构的XUnit测试项目:
在我的集成测试中,_environment.WebRootPath总是为null,并且我在测试的项目中有一些依赖于该值的代码。我知道我可以在TestStartup中手动设置这个值。我想知道是否有比硬编码路径(C:\...\MyApp.Rest\wwwroot)更好的方法来设置值?
public TestStartup(IHostingEnvironment environment, IServiceProvider serviceProvider) {
_environment = environment;
_environment.WebRootPath = "ugly_hardcoded_path_to_wwwroot"
var builder = new ConfigurationBuilder()
.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.AddJsonFile($"appsettings.{_environment.EnvironmentName}.json")
.AddEnvironmentVariables();
Configuration = builder.Build();
}发布于 2018-08-08 15:53:49
我在集成测试中遇到了同样的问题。我在TestServer中使用Microsoft.AspNetCore.TestHost类
下面是我如何配置WebrootPath:
_server = new TestServer(new WebHostBuilder()
.UseWebRoot(@"The path i want to use")
.UseStartup<Startup>());
_client = _server.CreateClient();https://stackoverflow.com/questions/51277194
复制相似问题