我有一个用于测试ASP.NET MVC项目的Visual Studio单元测试项目.
将程序集级别log4net.Config.XmlConfigurator属性添加到AssemblyInfo.cs不起作用,SO上的其他人发现他们必须使用直接调用log4net.Config.XmlConfigurator.Configure();
问题是,如何才能对单元测试进行此操作?Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyInitialize在类方法上使用属性的答案不起作用.
对我来说,这段代码导致InvalidOperationException输出窗口登录,测试会话提前爆炸.
[TestClass]
public sealed class Startup
{
[AssemblyInitialize]
public void Configure()
{
System.Diagnostics.Debug.Write("Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyInitialize");
}
}
Run Code Online (Sandbox Code Playgroud)
阅读文档,MSDN表示不要AssemblyInitialize在ASP.NET的测试项目中使用,因为它们可能不止一次被调用.
那么如何才能在运行任何测试之前配置log4net?
c# asp.net-mvc unit-testing log4net-configuration visual-studio-2012