简体   繁体   中英

How to mock ShareDirectoryClient GetFilesAndDirectoriesAsync xUnit

How to mock ShareDirectoryClient's GetFilesAndDirectoriesAsync function in xUnit .Net Core 5

I am trying to mock public Mock<ShareDirectoryClient> mockShareDirectoryClient = new Mock<ShareDirectoryClient>();

But facing issue in creating instance of ShareFileItem.

Since ShareFileItem is a abstract class we can not create new instance.

.Net core provides FilesModelFactory factory to create new instance of ShareFileItem.

var list = new List<ShareFileItem>();
        list.Add(FilesModelFactory.ShareFileItem(false, "SampleFileName", 1, "11"));
        list.Add(FilesModelFactory.ShareFileItem(false, "SampleDirectory", 1, "11"));

        IReadOnlyList<ShareFileItem> readOnlyList = new ReadOnlyCollection<ShareFileItem>(list);

        List<Page<ShareFileItem>> shareFileList = new List<Page<ShareFileItem>>();
        Page<ShareFileItem> item = Page<ShareFileItem>.FromValues(readOnlyList, string.Empty, null);
        shareFileList.Add(item);

        AsyncPageable<ShareFileItem> pagableList = AsyncPageable<ShareFileItem>.FromPages(shareFileList);

        mockShareDirectoryClient.Setup(s => s.GetFilesAndDirectoriesAsync(It.IsAny<ShareDirectoryGetFilesAndDirectoriesOptions>(), It.IsAny<CancellationToken>())).Returns(pagableList);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM