Если у вас в фокусе вид EditText, программная клавиатура отобразится автоматически. Если вы хотите использовать программную клавиатуру для чего-то другого, вам, вероятно, нужно создать ее в виде набора кнопок и обрабатывать каждый щелчок. Это трудоемко, но довольно прямо. В целом это работает так же, как в Android
Подход Записи/Воспроизведения поддерживается RhinoMocks. Основная идея состоит в том, что Ваше выполнение теста разделено на две фазы, рекордную фазу и фазу воспроизведения. Быть конкретным
var repo = new MockRepository();
var dependency = repo.DynamicMock<IDependency>();
With.Mocks(repo).Expecting(delegate {
Expect.Call(dependency.AMethod(1)).Return(result);
}).Verify(delegate {
var sut = new Sut(wrappee);
sut.DoStuffThatCallsAMethod();
Assert.IsTrue(sut.ResultState);
});
Таким образом, Ожидание блока является Рекордной фазой, и Проверить блок является фазой Воспроизведения.
Вариант Moq этого кода был бы
var dependency = new Mock<IDependency>();
dependency.Expect(dep => dep.AMethod(1)).Returns(result);
var sut = new Sut(wrappee.Object);
sut.DoStuffThatCallsAMethod();
Assert.IsTrue(sut.ResultState);
Который, как Вы видите, намного более хорош читать. Я раньше использовал RhinoMocks, но так как я обнаружил Moq, я только использую Moq. Я нахожу, что это, чтобы быть производит намного больше читаемого кода. Таким образом, мой совет состоял бы в том, чтобы пойти для Moq.
Я сразу перешел на Запись / Воспроизведение, потому что в настройках трудно увидеть, что было заглушено / имитировано или просто запущен код. Я считаю, что у Rhino есть несколько способов работы. В частности, вы можете использовать блок using ()
, чтобы изолировать установку от других вызовов.