我试图让Shimed Constructor在VB中工作。我能够在C#中完成它,但我需要一个VB示例。我在下面的代码符合,但测试失败,因为MyCalc.Total调用不使用Shim。
Using ShimsContext.Create()
Calc.Fakes.ShimVBCalc.Constructor = Function() New Calc.Fakes.ShimVBCalc() With {
.TotalGet = Function()
Return 5.0
End Function}
End Using
MyRealCalc = New Calc.VBCalc()
Assert.AreEqual(5,MyRealCalc.Total)
答案 0 :(得分:0)
您的实现代码需要在using语句中,否则您将调用真正的Calc.VbCalc方法。将您的代码更改为:
Using ShimsContext.Create()
Calc.Fakes.ShimVBCalc.Constructor = Function() New Calc.Fakes.ShimVBCalc() With {
.TotalGet = Function()
Return 5.0
End Function}
MyRealCalc = New Calc.VBCalc()
Assert.AreEqual(5,MyRealCalc.Total)
End Using