如何在运行单元测试时禁用PostSharp
本文关键字:PostSharp 单元测试 运行 | 更新日期: 2023-09-27 17:57:39
我希望我的nunit测试不应用任何PostSharp方面,这样我就可以孤立地测试我的方法。这可以在测试夹具设置中以某种方式完成吗?还是只能在每个项目级别上完成?
您可以在测试构建中设置"SkipPostSharp"标志,这样它就不会首先编译到二进制文件中。
您可以在方面上有一个静态标志来打开/关闭它,并检查该标志在方面实现中的状态。
然后在你的单元测试设置中,只需关闭静态标志
例如
public static bool On = true;
public override void OnInvoke(MethodInterceptionArgs args)
{
if (!CacheAttribute.On)
{
args.ReturnValue = args.Invoke(args.Arguments);
}
如果您在单元测试中使用Typemock,您可以使用类似的东西
MyAspect myAspectMock = Isolate.Fake.Instance<MyAspect>(Members.MustSpecifyReturnValues);
Isolate.Swap.AllInstances<MyAspect>().With(myAspectMock);
这允许您控制在哪些测试中使用方面,哪些不使用方面,从而允许您测试方法本身以及应用的建议。
据推测,其他模拟框架