如何在 xUnit .Net Core 5 中模拟 ShareDirectoryClient 的 GetFilesAndDirectoriesAsync 函数
我正在尝试 mock public Mock<ShareDirectoryClient> mockShareDirectoryClient = new Mock<ShareDirectoryClient>();
但在创建 ShareFileItem 实例时面临问题。
由于 ShareFileItem 是一个抽象类,我们无法创建新实例。
最佳答案
.Net core提供FilesModelFactory工厂来创建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);
关于c# - 如何模拟 ShareDirectoryClient GetFilesAndDirectoriesAsync xUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69754275/