首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebRootPath和TestServer

WebRootPath和TestServer
EN

Stack Overflow用户
提问于 2018-07-11 04:18:33
回答 1查看 755关注 0票数 0

我有一个具有以下结构的XUnit测试项目:

  • \MyApp.Rest
    • 毛根

  • \MyApp.Rest.Tests
    • 项目参考"MyApp.Rest“

在我的集成测试中,_environment.WebRootPath总是为null,并且我在测试的项目中有一些依赖于该值的代码。我知道我可以在TestStartup中手动设置这个值。我想知道是否有比硬编码路径(C:\...\MyApp.Rest\wwwroot)更好的方法来设置值?

代码语言:javascript
复制
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();
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-08 15:53:49

我在集成测试中遇到了同样的问题。我在TestServer中使用Microsoft.AspNetCore.TestHost

下面是我如何配置WebrootPath:

代码语言:javascript
复制
_server = new TestServer(new WebHostBuilder()
                .UseWebRoot(@"The path i want to use")
                .UseStartup<Startup>());
_client = _server.CreateClient();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51277194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档