Я полагаю, вы означая тестирование ли это изменение окр ...
промежуточного программного идет что-то вроде:
class Foo
def initialize(app)
@app = app
end
def call(env)
# do stuff with env ...
status, headers, response = @app.call(env)
# do stuff with status, headers and response
[status, headers, response]
end
end
Вы можете инициализировать его с поддельной приложение (или лямбда, для этого материя), которая возвращает фиктивный ответ после выполнения некоторых тестов:
class FooTester
attr_accessor :env
def call(env)
# check that env == @env and whatever else you need here
[200, {}, '']
end
end
Да, я меняю env. Можете ли вы объяснить, как работает FooTester? Как это называется Foo? –
@BSeven: 'tester = FooTester.new; tester.env = env; foo = Foo.new (тестер); foo.call (env); ' –