.Net Core Moq: дерево выражений не может содержать вызов или вызов, использующий необязательные аргументы - PullRequest
0 голосов
/ 19 октября 2018

Использование .net core xunit и moq.

Во время написания моего теста я получаю сообщение об ошибке "

An expression tree may not contain a call or invocation that uses optional arguments    

Ошибка в сети:

var moqDb = new Mock<IDynamoDbClientInitialization>();
moqDb
 .Setup(_ => _.GetContext().ScanAsync<MyModel>
 (It.IsAny<List<ScanCondition>>(), AWSHelperMethods.GetDynamoDbOperationConfig(dynamoDbTable)).GetRemainingAsync())
.ReturnsAsync(data);

Полный код для этого можно найти в посте: .Net ядро ​​тестирования с Xunit

Может ли кто-нибудь помочь решить мою ошибку здесь.

Это сообщениедля устранения ошибки, которую я получаю, а не для написания кейса

1 Ответ

0 голосов
/ 19 октября 2018

moqDb является экземпляром Mock:

moqDb
 .Setup(_ => _.GetContext().ScanAsync<MyModel>

В этой части кода вы пытаетесь «вызвать» метод ScanAsync для еще не настроенного GetContext ().Чтобы решить эту проблему, вам нужно установить возвращаемое значение для GetContext (), прежде чем пытаться настроить ScanAsync ()

...