Вы не хотите тестировать метод на макете.Вы хотите проверить метод на экземпляре фактического класса. протестировать закрытый метод в классе - это использовать метод доступа.Обратите внимание, что VS предоставит их вам автоматически, или вы можете «свернуть свое», используя отражение.Для внутреннего метода вы также можете установить InternalsVisibleTo для своего тестового проекта в файле AssemblyInfo.cs.
[TextFixture]
public class CustomerTestFixture
{
var customer = new Customer();
var accessor = new Customer_Accessor( new PrivateObject( customer ) );
Assert.IsTrue( accessor.CanTestPrivateMethod() );
}
Когда вы макете объект, предполагается, что этот объект используется в качестве зависимости дляфактический класс в тесте.Поэтому достаточно иметь возможность настроить фиктивный объект для возврата определенных значений.Вы делаете свои утверждения для класса, который использует зависимость, а не для ложного класса.Этап проверки гарантирует, что тестируемый класс вызвал методы для фиктивных объектов в соответствии с установленными вами ожиданиями.