Опять программистское
Dec. 11th, 2008 09:33 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я уже писал некоторое время назад о том, что наша компания заопенсорсила пакет для создания юнит тестов Google C++ Testing Framework.
А сегодня мы выпустили в опен-соурс свет следующий пакет из серии средств для тестирования: Google C++ Mocking Framework. Позволяет быстренько сваять реализацию класса, которая делает то, что нужно для тестирования, и попутно отчитывается о том, использовали ли ее в соответствии с ожиданиями.
На сей раз к пакету приложил руку и ваш покорный слуга. Кусочек не сильно большой, но достаточный, чтобы быть упомянутым в контрибуторах :).
А сегодня мы выпустили в опен-соурс свет следующий пакет из серии средств для тестирования: Google C++ Mocking Framework. Позволяет быстренько сваять реализацию класса, которая делает то, что нужно для тестирования, и попутно отчитывается о том, использовали ли ее в соответствии с ожиданиями.
На сей раз к пакету приложил руку и ваш покорный слуга. Кусочек не сильно большой, но достаточный, чтобы быть упомянутым в контрибуторах :).
no subject
Date: 2008-12-12 06:06 am (UTC)Сделать пустышку из интерфейса для теста - это как два пальца об асфальт, да и выглядеть будет понятнее, чем нагромождение макросов.
Хотя вот WillOnce() уже выглядит вкусно :)
no subject
Date: 2008-12-12 06:26 am (UTC)Макросы (если ты об определении класса) пишутся один раз. А потом пишешь что-нибудь типа:
- метод A должен быть ровно один раз вызван с первым параметром в диапазоне от 50 до 99 и должен вернуть 23
- метод B не должен быть вызван вообще
- метод C должен быть вызван (обязательно после вызова метода A) не менее трех раз с первым параметром, начинающимся со строки "receipt#", при этом он должен присвоить тому, на что указывает второй параметр, единицу, и вернуть значение третьего параметра
И после этого получить понятную распечатку типа:
"ошибка: метод A с параметром в диапазоне 50-99 должен был быть вызван один раз, на самом деле не вызван ни разу".
no subject
Date: 2008-12-12 06:38 am (UTC)no subject
Date: 2008-12-12 06:35 am (UTC)no subject
Date: 2008-12-12 06:44 am (UTC)no subject
Date: 2008-12-12 06:55 am (UTC)no subject
Date: 2008-12-12 07:02 am (UTC)Я лично вообще не знал, где именно они работали.
no subject
Date: 2008-12-12 07:04 am (UTC)