【发布时间】:2021-09-09 16:42:51
【问题描述】:
这是我尝试做的:
Public Interface IDAO(Of T) : Inherits IDAO
Default Property Value(i As ULong) As T
Function Append(ts As ICollection(Of T)) As ULong
Function Remove(f As Predicate(Of T)) As ICollection(Of T)
Function GetRestricted(f As Predicate(Of T)) As ICollection(Of T)
Function RemoveFirst(f As Predicate(Of T)) As T
Function GetFirst(f As Predicate(Of T)) As T
End Interface
'...
_mock.WhenForAnyArgs(
Function(mock As IDAO(Of T)) mock.Value(Arg.Any(Of ULong)) = Arg.Any(Of T)()
).Do(
Sub(c As Core.CallInfo) Exit Sub 'Value(i) ... Set(v) ... _inner.data(i) = v
)
模式选择器Function(mock As IDAO(Of T)) mock.Value(Arg.Any(Of ULong)) = Arg.Any(Of T)() 不起作用;即使是这样,我也不知道如何在Do 语句中使用CallInfo 对象。
【问题讨论】:
-
仅供参考,奇怪的
Enum Void和null As Void是这样我可以对通常无法选择且不允许Do语句的方法进行模式选择。
标签: .net vb.net unit-testing mocking nsubstitute