我希望我的nunit测试不应用任何PostSharp方面,所以我可以单独测试我的方法。这可以在测试夹具设置中以某种方式完成,还是只能在每个项目级别完成?
答案 0 :(得分:3)
您可以在测试版本中设置“SkipPostSharp”标志,以便它不会首先编译到您的二进制文件中。
答案 1 :(得分:3)
您可以在方面上设置静态标志,以打开/关闭它,并检查方面实施中的标志状态。
然后在你的单元测试设置中关闭静态标志。
e.g。
public static bool On = true;
...
public override void OnInvoke(MethodInterceptionArgs args)
{
if (!CacheAttribute.On)
{
args.ReturnValue = args.Invoke(args.Arguments);
}
答案 2 :(得分:0)
如果您在单元测试中使用Typemock,则可以使用类似
的内容MyAspect myAspectMock = Isolate.Fake.Instance<MyAspect>(Members.MustSpecifyReturnValues);
Isolate.Swap.AllInstances<MyAspect>().With(myAspectMock);
这允许您控制使用方面的测试,以及哪些测试没有,允许您测试方法本身,并应用建议。
可能会有与其他模拟框架类似的机制