monkeypatching
У меня есть полезный метод, который ведет себя так def my_patch_method(self): pass def patch_my_lib(): from mylib import MyClass MyClass.target_method = my_patch_method return MyClass() Этот тест не проходит: self.assertEqual(my_patch_method, patch_my_lib().target_method) В то время к...
Я все еще очень новичок в Ruby (читаю кирку и провожу большую часть своего времени в irb), и теперь, когда я знаю, что можно исправлять классы в Ruby, мне интересно, когда это допустимо, в частности, допустимо ли исправлять базовые классы Ruby. Например: я ответил на другой вопрос Ruby здесь, где плакат хоте...
Предположим, что я хочу написать крошечный интерпретатор. который может вычислять выражения с помощью двоичной операции Plus, унарная операция Negate и целочисленные константы. В настоящее время меня интересует только интерпретация АСТ, поэтому давайте для простоты пропустим токенизацию и синтаксический ана...
Цель состоит в том, чтобы создать макет класса, который ведет себя как результирующий набор БД. Так, например, если запрос базы данных возвращает, используя выражение dict, {'ab':100, 'cd':200}, то я хотел бы видеть: >>> dummy.ab 100 Сначала я подумал, что, возможно, смогу сделать это следующим ...
Я пытаюсь отладить поведение большой библиотеки, от которой я завишу, которая использует разброс (не делайте этого изобилия) операторов debug print через свои многочисленные исходные файлы. Проблема в том, что большинство, если не все из этих операторов печати отладки не содержат отметку даты/времени, поэтом...
Я работаю с python и немного новичок в тестировании. Я часто вижу тесты, заменяющие внешнюю зависимость локальным методом, например: import some_module def get_file_data(): return "here is the pretend file data" some_module.get_file_data = get_file_data # proceed to test Я вижу, что это называется "и...
у меня возникли проблемы с заменой функции из другого модуля с другой функцией, и это сводит меня с ума. допустим, у меня есть модуль bar.py это выглядит так: from a_package.baz import do_something_expensive def a_function(): print do_something_expensive() и у меня есть еще один модуль, который выгля...