我正在尝试测试我的MVC项目。为了简单起见,在Startup类中我有:
public static IConfiguration Configuration { get; set; }
public Startup(IHostingEnvironment env)
{
// Setup configuration sources.
var configuration = new Configuration()
.AddJsonFile("config.json");
Configuration = configuration;
}我在全球范围内使用这种配置,比如:
private static string connectionString = Startup.Configuration["Database:ConnectionString"];它可以在文件中找到这个。
我的问题:
当我运行测试时,Startup类似乎没有触发。因此,每当我访问Startup.Configuration时,这个字段都是空。
为了读取config.json文件,我能做些什么来触发它呢?不然我还能怎么解决这个问题?
发布于 2015-06-26 21:49:10
启动方法通常在您启动web服务器时调用,无论它是在IIS Express、Web侦听器、Kestrel等上。如果您试图运行测试,则需要启动服务器或测试服务器,然后该服务器或测试服务器将调用您的启动方法。
Microsoft.AspNet.TestHost是用于创建基于测试的服务器的一个很好的实用工具。特别是我在这里谈论的TestServer:https://github.com/aspnet/Hosting/blob/dev/src/Microsoft.AspNet.TestHost/TestServer.cs
下面是我们如何在MVC:https://github.com/aspnet/Mvc/blob/dev/test/Microsoft.AspNet.Mvc.FunctionalTests/TestHelper.cs中使用它
以及创建服务器的实际测试
希望这能有所帮助!
https://stackoverflow.com/questions/31062048
复制相似问题