мне нужно издеваться объект, чей класс, как ожидается, несколько констант определены, например:Как подклассы издеваются над мокко?
class Driver
DRIVER_NAME = "google"
end
Я не хочу, чтобы просто использовать экземпляры класса в моих модульных тестов из-за дорогой инициализации, плюс он имеет простой интерфейс, поэтому его оптимально макет. Если бы я мог просто подкласс Mocha::Mock
и добавить несколько констант, которые были бы идеальными. Однако я не нашел способ создать эти подклассы. Они требуют «издевательства» в качестве аргумента инициализации. Я пробовал:
TestDriver.new(self.mock.instance_method_get(:@mockery))
Что довольно странно привело:
неожиданный вызова: # < Мок: 0x35c0690 > .instance_method_get (: @ издевательство)
Источник Мокко довольно сложный и запутанный. Я даже не могу найти точку, где mock
создается для каждого объекта Minitest::Test
.
Итак, как я могу подклассировать в Mocha? Есть ли прямой путь?
Моего решения для резервного копирования, чтобы просто использовать класс три строки, показанный выше driver.stubs(:name)...
вместо того, чтобы использовать издевается, но чувствует, как неправильный способ решить эту проблему.