Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) icpp: Tests (число прочтений - 6151 )
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
icpp: Tests
01. Мая 2008 :: 07:11
Печать  
Добавлен проект Tests: юнит-тесты на C++ с использованием CppUnit.
Для сборки проекта понадобятся заголовки и библиотеки от CppUnit. Прикладываю их сюда. Их нужно распаковать и прописать к ним пути в Студии.
  

CppUnitIncludes.rar ( 45 KB | Загрузки )
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: icpp: Tests
Ответ #1 - 01. Мая 2008 :: 07:12
Печать  
Библиотеки.
  

CppUnitLibs.rar ( 1415 KB | Загрузки )
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: icpp: Tests
Ответ #2 - 01. Мая 2008 :: 07:19
Печать  
Запуск тестов производится простой загрузкой полученной компоненты в любой конфигурации методом ЗагрузитьВнешнююКомпоненту. Например:

Код
Выбрать все
Процедура ПриНачалеРаботыСистемы ()
	ЗагрузитьВнешнююКомпоненту ("D:\VS2005Proj\icpp\icpp\Source\Tests\Release\1cppTests.dll");
КонецПроцедуры
 

  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: icpp: Tests
Ответ #3 - 01. Мая 2008 :: 07:34
Печать  
Литература популярная по CppUnit какая имеется?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: icpp: Tests
Ответ #4 - 01. Мая 2008 :: 07:39
Печать  
kms писал(а) 01. Мая 2008 :: 07:34:
Литература популярная по CppUnit какая имеется?

Можно начинать отсюда: http://cppunit.sourceforge.net/cppunit-wiki

Еще я здесь немного описывал, когда только начинал на нем работать: http://www.1cpp.ru/wiki/Ispol'zovanieCPPUnit?v=6zg

Там описание чуть-чуть подустарело. Вернее, использовать его для создания тестов можно, но можно это делать чуть удобнее. По образцу файлов StringAlgoTest.h и StringAlgoTest.cpp
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: icpp: Tests
Ответ #5 - 01. Мая 2008 :: 07:48
Печать  
ОК, надо разобраться.
Ты тогда ссылки на файлы не удаляй отсюда - я ни нах прямые линки дам из инструкции по сборке.

P.S.
Все нормально собирается, кстати, в том числе и для ICL 10.1.021 /Qms0 Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: icpp: Tests
Ответ #6 - 01. Мая 2008 :: 09:09
Печать  
Вот это здорово Улыбка
Обязательно нужно будет заюзать.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: icpp: Tests
Ответ #7 - 04. Мая 2008 :: 11:17
Печать  
ИМХО имеет смысл включить подобное внутреннее тестирование в конфу тестирования 1С++.
Либо как отдельным тестом - например, ТестВстроенныхКлассов, который грузит нужную ВК,
либо еще каким-либо способом.
Если включаем, нужно получить способ, как узнать, успешно или нет прошло встроенное тестирование.
Олег, как это узнать?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: icpp: Tests
Ответ #8 - 04. Мая 2008 :: 12:26
Печать  
artbear писал(а) 04. Мая 2008 :: 11:17:
ИМХО имеет смысл включить подобное внутреннее тестирование в конфу тестирования 1С++.
Либо как отдельным тестом - например, ТестВстроенныхКлассов, который грузит нужную ВК,
либо еще каким-либо способом.
Если включаем, нужно получить способ, как узнать, успешно или нет прошло встроенное тестирование.
Олег, как это узнать?

В идеале, ВК с тестами должна предоставлять в точности такой же функционал, что основная ВК. Поэтому (в идеальном случае) включить в конфу тестирования можно самым простым образом - загрузить не конечную 1С++, а вариант с тестами. И другого способа в этом случае не будет, потому что нет возможности нормально загрузить в одну конфу сразу две 1С++.

Сейчас, конечно, случай не идеальный. И ВК с тестами можно загрузить параллельно. Но, думаю, это временно.

Узнавать о провале тестов в тестовой ВК, ИМХО, нет необходимости. Потому что, при провале тестов вся информация и так пойдет в окно сообщений. Попробуй в файле Utils/StringAlgo.cpp закомментарить строки
Код
Выбрать все
m_Buffer [Length] = 0; 


и сам увидишь, что будет при загрузке ВК с тестами.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: icpp: Tests
Ответ #9 - 04. Мая 2008 :: 12:30
Печать  
Я как раз говорю о том, что мне не нравится простой вывод в окно сообщений Улыбка
Нужно как-то результаты подобного тестирования получать в более "приятном" виде с возможностью фиксации, например, в журнале тестирования, как остальные юнит-тесты, и параллельно в спец.печ.форме.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: icpp: Tests
Ответ #10 - 04. Мая 2008 :: 12:34
Печать  
artbear писал(а) 04. Мая 2008 :: 12:30:
Я как раз говорю о том, что мне не нравится простой вывод в окно сообщений Улыбка
Нужно как-то результаты подобного тестирования получать в более "приятном" виде с возможностью фиксации, например, в журнале тестирования, как остальные юнит-тесты, и параллельно в спец.печ.форме.

Например, для чего полезна фиксация в спец. журнале - если при тестировании 1С просто падает, и не успеваешь увидеть, на каком тесте она упала Улыбка В этом случае журнал архиудобен.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: icpp: Tests
Ответ #11 - 04. Мая 2008 :: 12:35
Печать  
artbear писал(а) 04. Мая 2008 :: 12:30:
Я как раз говорю о том, что мне не нравится простой вывод в окно сообщений Улыбка
Нужно как-то результаты подобного тестирования получать в более "приятном" виде с возможностью фиксации, например, в журнале тестирования, как остальные юнит-тесты, и параллельно в спец.печ.форме.

Ну, не знаю, лично у меня такой необходимости не возникало. Но если надо, это все элементарно делается простым допиливанием класса C1CTestResultsCollector - он может генерить событие для 1С при каждой ошибке. Соответственно, лови такие события и логируй как хошь.

Вообще, при переходе на тесты на C++ необходимость тестов на 1С стремится к нулю. Они конечно нужны, но только чтобы проверить, насколько корректно в 1С вытащены прикладные объекты и их методы. Проверка функционала гораздо полнее происходит на C++.
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: icpp: Tests
Ответ #12 - 04. Мая 2008 :: 12:36
Печать  
artbear писал(а) 04. Мая 2008 :: 12:34:
Например, для чего полезна фиксация в спец. журнале - если при тестировании 1С просто падает, и не успеваешь увидеть, на каком тесте она упала Улыбка В этом случае журнал архиудобен.

Ну, может быть. Но обычно, такие вещи ловятся запуском из-под отладчика Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать