Как выбрать макетную структуру, если переменные-члены являются классами, а не интерфейсами [дубликат]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как выбрать макетную структуру, если переменные-члены являются классами, а не интерфейсами [дубликат]

Сообщение Anonymous »

Вот в чем дело: мне нужно выполнить модульные тесты для проекта, включающего множество контроллеров, где переменные-члены внутри контроллеров являются службами. Проблема в том, что все сервисы являются не интерфейсами, а классами.
Существует ли подходящая среда, позволяющая напрямую имитировать классы? Я не уверен, сможет ли nmock удовлетворить мои требования, а ресурсов, посвященных nmock, недостаточно.

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

public class UserControllerTest
{
private readonly UserController controller;

private readonly Mock _mockIUserService;
private readonly IUserService userService;

public UserControllerTest()
{
_mockIUserService = new Mock();
userService = _mockIUserService.Object;
controller = new UserController(userService);
}

[Fact]
public async Task post_withCorrectUserInfo()
{
InternetUser user = new InternetUser()
{
Name = "Test",
Sex = "Male",
};

_mockIUserService.Setup(service => service.Submit(It.IsAny())).ReturnsAsync(user);

var user_actual = await controller.Post(user);

Assert.Equal(user.Sex, user_actual.Sex);
Assert.Equal(user.Name, user_actual.Name);
}
}
Вот часть предыдущего модульного теста: я использую Moq, потому что я изменил userService с класса на интерфейс, что запрещено.

Подробнее здесь: https://stackoverflow.com/questions/784 ... ot-interfa
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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