如何将垫片作为混凝土类型?

时间:2014-03-07 21:42:33

标签: c# .net unit-testing microsoft-fakes

我有一个基于ClassA.PropertyB的垫片,其中PropertyB的类型为ClassB。 ClassA是内部的,并且存在于我的测试项目的另一个程序集中。我在AssemblyInfo.cs中添加了一个引用,所以我的测试项目可以看到这个内部,我可以创建垫片。

我想通过构造函数将shimClassB实例发送到ClassA:

public ClassA(object someInstance)
{
  PropertyB = (ClassB)someInstance;
} 

上面抛出InvalidCastException:

Unable to cast object of type shimClassB to type ClassB.

是否有其他技术可以将填充实例放入ClassA?

1 个答案:

答案 0 :(得分:0)

我没有看到这样做有任何问题。请验证您的属性类型是否正确,或尝试将一些ShimClassB对象分配给ClassB类型的新变量。

向我们展示您的代码可能会有所帮助,即使我只是尝试完全相同的示例而没有任何例外。