Чтобы ответить на мой собственный вопрос, я обнаружил, что у Capybara есть метод #string, который принимает кусок HTML и возвращает:
Capybara :: Node :: Simple, который выставляет все Capybara :: Node :: Matchers и Capybara :: Node :: Finders. Это позволяет вам запрашивать любую строку, содержащую HTML, точно так же, как вы запрашиваете текущий документ в сеансе Capybara.
Итак, я просто добавил в свой класс инициализатор, чтобы этот узел можно было передавать и использовать вместо сеанса Capybara. Нет необходимости заглушки или насмешки, и он делает именно то, что мне нужно.