如何在VB中填充构造函数?

时间:2014-10-06 17:53:31

标签: vb.net microsoft-fakes

我试图让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)

1 个答案:

答案 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