Имитация метода Google StorageClient ListObjects с использованием MoqC#

Место общения программистов C#
Ответить
Anonymous
 Имитация метода Google StorageClient ListObjects с использованием Moq

Сообщение Anonymous »

Я пытаюсь выполнить модульное тестирование следующего метода
public List GetFilesInGCS(string bucket, string node)
{
List fileNames = new List();
try
{
log.Info($"Getting files from {bucket}...");
foreach (var storageObject in storageClient.ListObjects(bucket, node))
fileNames.Add(storageObject.Name);

log.Info($"Total files: {fileNames.Count}");
}
catch (Exception ex)
{
Task.Run(async () => { await _emailer.SendErrorAsync(ex); });
log.Error(ex);
}
return fileNames;
}

Проблема в том, что я не знаю, как правильно имитировать возврат метода ListObjects. Он возвращает абстрактный класс PageEnumerable.
Это то, что у меня есть на данный момент.
[Test]
public void TestGetFilesInGCS()
{
Mock storageClientMock = new Mock(MockBehavior.Loose);
storageClientMock.Setup(m => m.ListObjects(It.IsAny(), It.IsAny(), It.IsAny()));
GoogleService g = new GoogleService(storageClientMock.Object);
var files = g.GetFilesInGCS("test", "test");
Assert.That(files, Is.Not.Empty);
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... -using-moq
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»