簡體   English   中英

從Moq到FakeItEasy的遷移-如何遷移Verify()?

[英]Moq to FakeItEasy migration - How to migrate Verify()?

我正在將Moq測試遷移到FakeItEasy,並且遇到了一個我不知道如何遷移的案例。

情況是:

    [TestMethod]
    public void Should_EditItem()
    {
        _itemMock.Verify(
            item => item.Edit((ItemTypeId)2, (ProcessId)1, "TITLE", "TEXT", new DateTime(2012, 11, 28), (UserId)321,
                              (GroupId)321, (ItemPriorityId)1, ItemStatus.Open, (ItemTypeStatusId)3, (PlantId)0,
                              (UserId)123, 1, null, 15, "REF", It.IsAny<RegionId>(), It.IsAny<CountryId>(), It.IsAny<string>()));
    }

如何將此調用遷移到FakeItEasy? 它甚至做什么?

Moq在說:“驗證是否已使用這些參數調用了Edit方法”。

在FakeItEasy文檔( https://fakeiteasy.readthedocs.io/en/stable/argument-constraints/ )上2分鍾,您應該可以這樣說:

A.CallTo(() => item.Edit(((ItemTypeId)2, (ProcessId)1, "TITLE", "TEXT", new DateTime(2012, 11, 28), (UserId)321,
                          (GroupId)321, (ItemPriorityId)1, ItemStatus.Open, (ItemTypeStatusId)3, (PlantId)0,
                          A<UserId>.That.Matches(x=>x==(UserId)123), 1, null, 15, "REF", A<RegionId>, A<CountryId>, A<string>)).MustHaveHappened();

或類似的東西。

//Moq
_mock.Verify(x=>x.method());
It.IsAny<string>()
//FIE
A.CallTo(x=>x.method()).MustHaveHappened();
A<string>.Ignored // or A<string>._

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM