是否可以在友好程序集中将方法限制为虚拟?

时间:2016-03-08 17:40:53

标签: c# .net visual-studio unit-testing nunit

对于单元测试,我希望能够以与InternalsVisibleTo类似的方式将方法转换为仅针对特定程序集的虚拟方法。

例如,如果我有汇编动物

public void methodDog()
{
}

我希望这是假装:

public virtual void methodDog()
{
}

..在程序集 AnimalsTests

我们如何在不使用AOP的特定程序集访问时将某些方法标记为虚拟?

1 个答案:

答案 0 :(得分:3)

据我所知,这是不可能的,但你可以考虑:

  1. 创建界面并在测试时实现;或者<; p>

  2. 创建一个内部虚拟方法,由公共方法调用并覆盖内部虚方法,例如:

  3. ^[A-Z]\w+(?:\s[A-Z]\w+?)?\s(?:[A-Z]\w+?)?$