oldjackaroo: (Default)
[personal profile] oldjackaroo
Наша компания только что заопенсорсила разработанный и используемый у нас пакет для создания юнит тестов на С++. Прошу любить и жаловать, кто имеет отношение.

Детали тут. А вот и собственно проект: Google C++ Testing Framework.

Date: 2008-07-07 06:06 am (UTC)
From: [identity profile] highlander-spb.livejournal.com
Баннер рулит!

Хотя совершенно не очевидно, чем оно отличается от cppUnit.

Date: 2008-07-07 06:08 am (UTC)
From: [identity profile] oldjackaroo.livejournal.com
Баннер - это с двумя лампочками? Как я устал на него в туалете каждый день смотреть... :)

Date: 2008-07-07 06:11 am (UTC)
From: [identity profile] highlander-spb.livejournal.com
За что вы его в туалет сослали, ироды?

Date: 2008-07-07 06:14 am (UTC)
From: [identity profile] oldjackaroo.livejournal.com
Там периодически листочки со всякими умными вещами вывешивают. Чтобы, значит, ты и там время даром не терял :)

Date: 2008-07-07 06:16 am (UTC)
From: [identity profile] highlander-spb.livejournal.com
Ну почему же даром? Ведь походы в туалет в гугле, надеюсь, из рабочего времени не вычитают?

Date: 2008-07-07 06:24 am (UTC)
From: [identity profile] oldjackaroo.livejournal.com
Мы не контракторы, мы постоянные работники, у нас нет понятия рабочего времени...

Date: 2008-07-07 06:13 am (UTC)
From: [identity profile] oldjackaroo.livejournal.com
А cppUnit - я на нем не работал, но, например, там, кажется, надо вручную каждый тест регистрировать? И вроде RTTI там обязательно надо включать?

Date: 2008-07-07 06:15 am (UTC)
From: [identity profile] highlander-spb.livejournal.com
Там есть макросы для этого, кроме того, ведь в вашем фреймворке это тоже как-то делается, так?
RTTI, действительно, оно хочет, но какая проблема включить его для тестов?

Date: 2008-07-07 06:23 am (UTC)
From: [identity profile] oldjackaroo.livejournal.com
В нашем когда ты создаешь новый тест, ты макросом делаешь заголовок функции теста, и все, он уже будет выполняться. Забыть написать заголовок функции трудно, забыть включить его в тест легко (и вряд ли кто потом тщательно проверяет, все ли из 367 тестов включены и выполнились).

Включить RTTI можно, но вдруг он на результаты повлияет? Кстати, там еще и exception handling надо включить, кажется. :)

Еще народ по ссылке говорит, что EXPECT_DEATH там нет, но, правда, у нас он тоже под Windows не работает.

А вообще, там автора уже попросили список отличий написать, будем надеяться, что сделает.

Date: 2008-07-07 08:52 am (UTC)
From: [identity profile] highlander-spb.livejournal.com
Ну, ни разу не забывал включить тест в CppUnit на выполнение. Да, иногда немного напрягает, но это очень небольшая цена.

Я не представляю, как включение RTTI может повлиять на результаты. Если код его не использует, то должно быть плоскопараллельно, за исключением чудовищного бага в компиляторе. Кроме того, некоторые программисты в некотором роде несколько используют RTTI в хвост и в гриву.
Ну а по поводу того, что в гугле эксепшены не в фаворе, я могу лишь пожать плечами. Ни одного разумного довода в пользу такого решения при разработке на современном С++ я не видел.

Profile

oldjackaroo: (Default)
oldjackaroo

January 2020

S M T W T F S
    1234
567891011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 15th, 2025 11:11 am
Powered by Dreamwidth Studios