Вы должны использовать макет для моделирования метода печати, чтобы он никогда не выполнялся.
Проверьте TypeMock или RhinoMocks на то, что поможет вам сделать это.
Вот как это будет выглядеть при использовании TypeMock:
Mock mock = MockManager.Mock<PrintManager>();
mock.ExpectCall("Print");
Тогда вы выполняете код в своем тесте, который внутри него вызывает этот метод. Затем он перехватит вызов на печать, и документ не будет отправлен на принтер, но вы все равно можете выполнить бизнес-логику во время печати.