Частичный макет NSubstitute - реализация базы вызова? - PullRequest
0 голосов
/ 06 мая 2020

Я использую NSubstitute для создания макетов для тестирования. Используя частичный макет типа, я хочу переопределить конкретный метод virtual, но я хочу основывать реализацию переопределения на реальной реализации - эквиваленте base.Method() в обычном подклассе.

class Client
{
    public virtual ClientContext BeginScope() { ... }
}

[Test]
void Test()
{
    var mockClient = Substitute.ForPartsOf<Client>();

    mockClient.Configure().BeginScope().Returns(
        (callInfo) =>
        {
            // How do I do this? As written, this just calls the override recursively and blows up the stack.
            var value = mockClient.BeginScope();

            DoSomethingWith(value);

            return value;
        });
}

Поддерживает ли это NSubstitute? Мне не удалось найти ничего, что раскрывает реализации базовых методов.

...