Как проверить, содержит ли выражение определенное значение с помощью NSubstituteC#

Место общения программистов C#
Ответить
Anonymous
 Как проверить, содержит ли выражение определенное значение с помощью NSubstitute

Сообщение Anonymous »

В моем коде я использую метод SingleOrDefaultAsync, который принимает Expression x.Id == receiverId);
[/code]
Модульный тест выглядит следующим образом:

Код: Выделить всё

[Fact]
public async Task Should_Create_Delivery_With_Valid_Sender_And_Recipient()
{
// Arrange
var sender = new Sender(_senderId, "John", "Doe");
var recipient = new Recipient(_recipientId, "Jane", "Smith");

_fakeSenderRepo
.SingleOrDefaultAsync(Arg.Any())
.Returns(sender);

_fakeRecipientRepo
.SingleOrDefaultAsync(Arg.Any())
.Returns(recipient);

// Act
var delivery = await _deliveryManager.CreateDeliveryAsync(_senderId, _recipientId);

// Assert
delivery.ShouldNotBeNull();
delivery.SenderId.ShouldBe(_senderId);
delivery.ReceiverId.ShouldBe(_recipientId);
}
Я не знаю, как проверить наличие _senderId в выражении, которое я передаю в SingleOrDefaultAsync. Мне не нравится этот Arg.Any(), я хочу контролировать, чтобы я передал _senderId в выражение.

Подробнее здесь: https://stackoverflow.com/questions/798 ... substitute
Ответить

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

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

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

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

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