Просто используйте функция, определяемая sys.getsizeof в sys
модуль.
sys.getsizeof(object[, default])
:Возврат размер объекта в байтах. Объект может быть любым типом объекта. Все встроенные объекты возвратят корректные результаты, но это не должно сохраняться для сторонних расширений, поскольку это - конкретная реализация.
default
аргумент позволяет определять значение, которое будет возвращено, если тип объекта не обеспечит средства получить размер и вызоветTypeError
.
getsizeof
вызовы метод object’s__sizeof__
и добавляет дополнительный сборщик "мусора" наверху, если объектом управляет сборщик "мусора".
пример Использования, в python 3.0:
>>> import sys
>>> x = 2
>>> sys.getsizeof(x)
24
>>> sys.getsizeof(sys.getsizeof)
32
>>> sys.getsizeof('this')
38
>>> sys.getsizeof('this also')
48
, Если Вы находитесь в Python < 2.6 и не имеют sys.getsizeof
, можно использовать этот обширный модуль вместо этого. Никогда не использовал его все же.
Вот эта страница codehaus с некоторыми рекомендациями. Я счел отказоустойчивый плагин чем-то вроде взлома, и он сильно усложняет выполнение модульных тестов в Eclipse. Я делаю в общих чертах то, что вы описываете.
Определите интеграционные тесты в src / itest / java На этапе предварительного тестирования:
Затем на этапе тестирования интеграции используйте модуль surefire для запуска тестов.
Наконец, привяжите любые цели по приведению в порядок на этапе тестирования после интеграции. (хотя обычно они не нужны, так как вы можете использовать test teardown (), чтобы привести в порядок).
Я еще не нашел способ объединить результаты тестов, поскольку этап отчета прошел, но я обычно рассматривают интеграционные тесты как дополнительный бонус, поэтому, если они проходят, отчет не так важен.
Обновление: я думаю, стоит отметить, что вы можете запускать Jetty из своих интеграционных тестов, а не использовать причал Цель. Это дает вам более точный контроль над тестами. Вы можете получить более подробную информацию в этом ответе и в упомянутых блогах.
В этом хорошем сообщении в блоге предлагается три варианта:
1) Отдельный модуль для интеграционных тестов
2) Различные исходные каталоги
3) Различные шаблоны имен файлов
Я еще не опробовал все три, поэтому не могу высказать мнение, которое мне нравится.