(no subject)
15/9/06 18:32Вчера начали с xUnit Patterns. Я их тоже не читал. Как и остальные :)
Проглядел три главы. На первый взгляд, книжка рассказывает, как пользоваться юнит тестами.
DB-dependant testing
Например, в юности мы не знали - можно ли тестировать код, связанный с БД. Пуристы подавали тоненькие голоски из башен слоновой кости, что-де нельзя, а надо логику отделять от персистенции и тестировать отдельно. Как сказал МакКоннелл, "Нет такой проблемы в CS, которую нельзя было бы решить введением нового уровня абстрацкии".
Реальность требует тестировать всё, и код с БД тоже. Одна глава обзорно рассматривает этот вопрос, даёт паттерн & mdash; setUp() открывает транзакцию, а tearDown() откатывает.
Дима Шейко рассказал, как в своё время не смог написать тест запроса на HQL (от Hibernate), так, чтобы не связываться с БД вообще. И выразил недоумение - а что делать, если мы таки-работаем с Hibernate и надо протестировать commit? Обобщу: а если тестируемый код просто делает commit? Не, для этого тоже есть обходные пути - сделать свой собственный метод commit(), который делает только апдейты...
Как в Hibernate сбросить кэш в БД без commit-а, книжка не рассказала.
Зато рассказывает о паттернах инициализации-деинициализации. Деинициализация должна быть атомарной.
Деинициализация может быть inline (это паттерн. Тогда желательно, чтобы она была 1 строку, как-то db.rollback()), или в tearDown().
Java
Было что-то про Spring и синглтоны. Я не знаком с идеологией Spring, так что запомнил, что изначально там связывались только непосредственно связанные объекты, а только потом появился Application context или что-то ещё глобальное; правда, сейчас эту фичу поминают как нежелательную, но востребованную. Саша с Димой согласились, что в следующей версии Spring это станет рекомендуемой практикой.
Саша Долгин (
upstartn) показывал новую книжку про конкурентную Джаву. В авторах были Lea и другие монстры. Книжка покрывает предыдущую книгу Ли, а кроме того - мультитредовость в GUI, java.util.concurrent и что-то ещё, дополните меня.
Перлы
(о Hibernate) "Они пытались натянуть объектную модель на существующую БД, и модель порвалась."
Вова: " — Я рассказал, что наша система была страшной...
— Которая?
— Все."
Старый анекдот про уходящего из фирмы сотрудника: "Хочу попробовать себя в гетеросексуальном коллективе."
Ах да, "Пузата хата" в "Мосте". Еда хорошо, размер и положение - отвратительно. Столиков десятка полтора, посреди громадной площади, рядом макдональдс. Очень шумно, неуютно и много народу.
Проглядел три главы. На первый взгляд, книжка рассказывает, как пользоваться юнит тестами.
DB-dependant testing
Например, в юности мы не знали - можно ли тестировать код, связанный с БД. Пуристы подавали тоненькие голоски из башен слоновой кости, что-де нельзя, а надо логику отделять от персистенции и тестировать отдельно. Как сказал МакКоннелл, "Нет такой проблемы в CS, которую нельзя было бы решить введением нового уровня абстрацкии".
Реальность требует тестировать всё, и код с БД тоже. Одна глава обзорно рассматривает этот вопрос, даёт паттерн & mdash; setUp() открывает транзакцию, а tearDown() откатывает.
Дима Шейко рассказал, как в своё время не смог написать тест запроса на HQL (от Hibernate), так, чтобы не связываться с БД вообще. И выразил недоумение - а что делать, если мы таки-работаем с Hibernate и надо протестировать commit? Обобщу: а если тестируемый код просто делает commit? Не, для этого тоже есть обходные пути - сделать свой собственный метод commit(), который делает только апдейты...
Как в Hibernate сбросить кэш в БД без commit-а, книжка не рассказала.
Зато рассказывает о паттернах инициализации-деинициализации. Деинициализация должна быть атомарной.
Деинициализация может быть inline (это паттерн. Тогда желательно, чтобы она была 1 строку, как-то db.rollback()), или в tearDown().
Java
Было что-то про Spring и синглтоны. Я не знаком с идеологией Spring, так что запомнил, что изначально там связывались только непосредственно связанные объекты, а только потом появился Application context или что-то ещё глобальное; правда, сейчас эту фичу поминают как нежелательную, но востребованную. Саша с Димой согласились, что в следующей версии Spring это станет рекомендуемой практикой.
Саша Долгин (
Перлы
(о Hibernate) "Они пытались натянуть объектную модель на существующую БД, и модель порвалась."
Вова: " — Я рассказал, что наша система была страшной...
— Которая?
— Все."
Старый анекдот про уходящего из фирмы сотрудника: "Хочу попробовать себя в гетеросексуальном коллективе."
Ах да, "Пузата хата" в "Мосте". Еда хорошо, размер и положение - отвратительно. Столиков десятка полтора, посреди громадной площади, рядом макдональдс. Очень шумно, неуютно и много народу.
Tags:
(no subject)
18/9/06 07:28 (UTC)