मैं राइनो मोक्स के साथ एक विधि को कॉल ट्रैक करना चाहता हूं। के मैं इस कोड है मान लेते हैं:राइनो मोक्स, VerifyAllExpectations
public class A
{
protected IB _b;
public A(IB b)
{
_b = b;
}
public void Run(string name)
{
_b.SomeCall(new C { Name = name });
}
}
public interface IB
{
void SomeCall(C c);
}
public class C
{
public string Name { get; set; }
// more attributes here
}
और की तरह परीक्षण दिखता है:
// prepare
var bMock = Rhino.Mocks.MockRepository.GenerateStrictMock<IB>();
bMock.Expect(x => x.SomeCall(new C { Name = "myname" }));
var sut = new A(bMock);
// execute
sut.Run("myname");
// assert
bMock.VerifyAllExpectations();
परीक्षण क्योंकि राइनो Mocks ढांचा 2 अलग सी कक्षाओं का पता लगाता है एक ExpectedViolationException साथ विफल रहता है।
यदि परीक्षण के तहत विषय परीक्षण के तहत विधि में ऑब्जेक्ट पैरामीटर बनाता है तो मैं कॉल कैसे देखूं? पैरामीटर को "बराबर" के रूप में जांचने के लिए राइनो मोक्स को बताने का कोई मौका?
धन्यवाद एक टन!
हाय, कंपाइलर कहता है: "लैम्ब्डा अभिव्यक्ति को 'Rhino.Mocks.Constraints.AbstractConstraint' टाइप करने के लिए परिवर्तित नहीं कर सकता क्योंकि यह एक प्रतिनिधि प्रकार नहीं है।" इंगित करना "x => x.Name =" myname "" – Jordi
असाइनमेंट को बराबर (=) तुलना करने के लिए बराबर (==)। –
अभी भी एक ही समस्या है। मुझे कुछ याद आ रही है? http://imageshack.us/f/708/errorah.png/ – Jordi