我在 .NET 4.5(不是 4.6)类库中有一个接口,
public interface IBrokenFakeInterface
{
Claim WhyWontItGenerateFakeOfThisInterface();
}
在我的单元测试项目 (MSTest) 中,当我为包含此接口的相应程序集添加 Fakes 时,我收到编译器警告,指出它无法生成存根。
警告:无法为 ClassLibrary1.IBrokenFakeInterface 生成存根:
方法 System.Security.Claims.Claim
ClassLibrary1.IBrokenFakeInterface.WhyWontItGenerateFakeOfThisInterface()
unstubable:方法是抽象的,无法被存根,类型
System.Security.Claims.Claim 在目标框架中不可用
版本。 ClassLibrary1Tests C:\Users\jacobsonba\Documents\Visual
工作室
2015\Projects_tempFakeFiguringOut\ClassLibrary1Tests\Fakes\ClassLibrary1.fakes
虽然这只是一个编译器警告,但当单元测试项目依赖 StubIBrokenFakeInterface 时,它会导致编译器错误,因为 Stub 具体类型不是由 fakes 生成器创建的。
有谁知道这个错误的原因以及解决方案?
将项目更改为 .NET 4.6 可以解决该问题,但对于我们来说,这对于这些项目来说不是一个合理的选择。完全相同的代码在 VS2013 中编译得很好;事实上,如果它是用 VS2013 编译的,然后在 VS2015 中打开解决方案,它会继续工作,直到重新生成 Fakes 程序集。所以这显然是VS2015使用的假生成器的问题。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)