Şöyle bir arabirimde bir yöntemi var ve Rhino Mocks ile saplama istiyorum:Rhino Mocks: Parametrelerimden biri Expression <Func<T1, T2>> olduğunda Stub() kullanabilir miyim?
TValue GetPropertyOfExistingObject<TValue>(long id, Expression<Func<T, TValue>> propertyExpression);
Stubbing yapar
Benim kod aşağıdaki gibi görünüyor:
var service = MockRepository.GenerateStub<IQuoteService>();
service.Stub(s => s.GetPropertyOfExistingObject(1, q => q.QuoteNumber)).Return(1234);
Bildirim Şunu Bu yöntemdeki parametrelerin bir Expression<Func<T1, T2>>
olduğunu ve bu saplama belirtilen değeri döndürmüyor. Bunu WhenCalled() kullanarak yapabileceğimi biliyorum ama Stub() 'ın ifade parametreleriyle çalışıp çalışmadığını mı yoksa sadece yanlış bir şey yapıp yapmadığını mı merak ediyorum.
Bu, şu anda yalnızca ifadedeki yöntemlerde değil, özelliklerde çalışır. İfade Eşleştiricisi'ne özellik eşlemesi eklemeniz gerekir. Ayrıca, yöntemin argümanları varsa, bunları da karşılaştırmanız gerekir. – Tim
Önemli not! Hala yeterince adil - yöntemler için iyi çalıştı. – Jan