当运行asp.net内核的集成测试时,我正在尝试限制打印日志信息的数量。目前,直到调试级别的所有内容都被打印出来,并且模糊了有用的信息。我真的想把它限制在警告和以上。 我正在使用https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-2.2#customize-webapplicationfactory上的示例运行集成测试 public class CustomWebApplicationFactory<TStartup>
: WebApplicationFa
ASP.NET Core具有可用于启动测试主机以进行集成测试的WebApplicationFactory<T>。
对于非ASP.NET核心项目是否有等效的?例如,我正在考虑".NET核心工作人员服务模板“。它没有对ASP.NET核心的任何引用,但它使用的是通用主机。
例如,我有一个类似于此的项目,托管为windows服务。我希望像为ASP.NET核心项目一样容易地创建集成测试(在这里,我可以从启动文件中重用DI,所以我不需要在测试中设置它)。
public class Program
{
public static void Main(string[] args)
在我的.NET Core2.0项目中的xUnit集成测试中,我在打印测试结果的终端中看不到日志消息。当代码在WebHost环境中运行时,会将日志打印到控制台。
下面是我在测试的构造函数中配置日志的方法:
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.Tests.json")
.Build();
var services = new ServiceCollection();
services.AddLogging(options => {
options.Add