Public Class UserData Public Function ReturnFive() As Integer Return 5 End Function结束类
例3:为特定实例安排方法
[TestMethod] public void ShouldArrangeReturnOnlyForSpecificInstance() {// Arrange var userDataMock = Mock.Create();Mock.Arrange(() => userDataMock.ReturnFive()).Returns(7);// Assert。AreEqual (7, userDataMock.ReturnFive ());断言。AreEqual(5, new UserData().ReturnFive());}
Public Sub ShouldArrangeReturnOnlyForSpecificInstance() '排列Dim userDataMock = Mock。Create(Of UserData)() Mock.Arrange(Function() userDataMock.ReturnFive()).Returns(7) '维护维护。AreEqual(7, userDataMock.ReturnFive())断言。AreEqual(5, New UserData().ReturnFive())结束
[TestMethod] public void shouldarrangereturnforfutureuserdatainstance () {// Arrange var userDataMock = Mock.Create();Mock.Arrange(() => userDataMock.ReturnFive()).IgnoreInstance().Returns(7);// Assert。AreEqual (7, userDataMock.ReturnFive ());断言。AreEqual(7, new UserData().ReturnFive());}
Public Sub shouldarrangereturnforfutureuserdatainstance () '排列Dim userDataMock = Mock。Create(Of UserData)() Mock.Arrange(Function() userDataMock.ReturnFive()).IgnoreInstance().Returns(7) '维护维护。AreEqual(7, userDataMock.ReturnFive())断言。AreEqual(7, New UserData().ReturnFive())结束
[TestMethod] public void ShouldApplyIgnoreInstanceToVirtual(){//安排var计算器= Mock.Create<计算器>();Mock.Arrange(() => calculator.Sum()).IgnoreInstance().Returns(10);/ /维护维护。AreEqual (10, calculator.Sum ());断言。AreEqual(10, new Calculator().Sum());}
Public Sub ShouldApplyIgnoreInstanceToVirtual()“安排Dim计算器= Mock。Create(Of Calculator)() Mock.Arrange(Function() Calculator . sum ()).IgnoreInstance().Returns(10)Assert断言。AreEqual(10, calculator.Sum())断言。AreEqual(10, New Calculator().Sum())结束
Public Class Foo Public Sub New() End Sub Private collection As List(Of Object) Public ReadOnly Property RealCollection() As List(Of Object) Get Return collection End Get End Property End Class
例7控件中使用的伪集合的创建,以及如何安排Foo。RealCollection属性总是返回假集合。
例7:构造假集合并安排property get返回它
public IList FakeCollection() {List resultCollection = new List();resultCollection.Add (asd);resultCollection.Add (123);resultCollection.Add(真正的);返回resultCollection;} [TestMethod]公共无效ShouldReturnFakeCollectionForFutureCall() {var fooMocked = Mock.Create();var expectedCollection = FakeCollection();// Arrange Mock.Arrange(() => foomoced . realcollection).IgnoreInstance().ReturnsCollection(expectedCollection);// Act var actualArrangedCollection = foomoced . realcollection;var actualUnArrangedCollection = new Foo().RealCollection; // Assert // Asserting for the arranged instance Assert.AreEqual(expectedCollection.Count, actualArrangedCollection.Count); Assert.AreEqual(expectedCollection.FirstOrDefault(), actualArrangedCollection.FirstOrDefault()); // Asserting for a new unarranged instance Assert.AreEqual(expectedCollection.Count, actualUnArrangedCollection.Count); Assert.AreEqual(expectedCollection.FirstOrDefault(), actualUnArrangedCollection.FirstOrDefault()); }
Public Function FakeCollection() As IList(Of Object) Dim resultCollection As New List(Of Object)() resultCollection. add ("asd") resultCollection. add (123) resultCollection. add (True) Return resultCollection End Function Public Sub ShouldReturnFakeCollectionForFutureCall() Dim fooMocked = Mock。创建(Of Foo)() Dim expectedCollection = FakeCollection() '排列Mock.Arrange(Function() foomoced . realcollection).IgnoreInstance().ReturnsCollection(expectedCollection) 'Act Dim actualArrangedCollection = fooMocked。RealCollectionDim actualUnArrangedCollection = New Foo().RealCollection ' Assert ' Asserting for the arranged instance Assert.AreEqual(expectedCollection.Count, actualArrangedCollection.Count) Assert.AreEqual(expectedCollection.FirstOrDefault(), actualArrangedCollection.FirstOrDefault()) ' Asserting for a new unarranged instance Assert.AreEqual(expectedCollection.Count, actualUnArrangedCollection.Count) Assert.AreEqual(expectedCollection.FirstOrDefault(), actualUnArrangedCollection.FirstOrDefault()) End Sub