Kronoz, спасибо. Я нашел в Вашей функции что строка:
`if (!lowerWord.Contains(lowerPrefix)) return word`;
должен сказать
if (!lowerWord.StartsWith(lowerPrefix)) return word;
, таким образом, "informaciГіn" не изменяется на "InforMacIГіn"
лучше всего,
Enrique
Если я правильно понимаю ваш вопрос, у вас есть класс A, определенный в какой-то другой сборке, а затем класс B, реализованный более или менее следующим образом:
public class B : A
{
public override MyMethod(object input)
{
// Do something
base.MyMethod(input);
}
}
И теперь вы хотите проверить, что base.MyMethod вызывается?
Я не понимаю, как это можно сделать с помощью динамической имитирующей библиотеки. Все динамические имитационные библиотеки (за исключением TypeMock) работают, динамически генерируя классы, производные от рассматриваемого типа.
В вашем случае вы не можете очень хорошо просить Moq наследовать от A , поскольку вы хотите протестировать B .
Это означает, что вы должны попросить Moq предоставить вам Mock
. Однако это означает, что испускаемый тип является производным от B, и хотя он может переопределять MyMethod (который все еще является виртуальным) и вызывать его базу (B.MyMethod),
Согласитесь с Марком, использование Moq невозможно.
В зависимости от вашей ситуации вы можете рассмотреть вариант перехода от наследования к композиции . Тогда вы сможете смоделировать зависимость и проверить свой метод. Конечно, в некоторых случаях оно того не стоит.