Sto cercando di utilizzare la sintassi AAA in Rhino Mocks con VB.Net per convalidare che un metodo è stato chiamato una sola volta. Non riesco a farlo bene. Con questo codice, se il repository viene chiamato due volte, non restituisce nulla sulla seconda chiamata e il test passa. Mi sarei aspettato che il test fallisse quando VerifyAllExpectations è stato chiamato.Rhino Mocks: Come verificare che un metodo sia stato chiamato esattamente una volta usando la sintassi vb.net e AAA
<TestMethod()>
Public Sub GetDataCallsRepositoryOneTime()
Dim repository As IDataRepository = MockRepository.GenerateMock(Of IDataRepository)()
Dim cacheRepository As New CachingDataRepository(repository)
Dim results1 As IEnumerable(Of DataItem)
Dim results2 As IEnumerable(Of DataItem)
'verify that the base repository was asked for its data one time only
repository.Expect(Function(x) x.GetData(1)).Return(GetSampleData).Repeat.Once()
results1 = cacheRepository.GetData(1)
results2 = cacheRepository.GetData(1)
sdr.VerifyAllExpectations()
End Sub
Sei usando VS2008 o VS2010 con vb? –
Utilizzo Visual Studio 2010 come target del framework 4.0 per il mio progetto di test e il targeting del framework 3.5 per il progetto che sto testando. –