Снегопат

Обсуждение Снегопата
Текущее время: 27 апр 2024, 13:35

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 11 ноя 2011, 07:06 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
artbear писал(а):
Цитата:
1, 2 - исправил.

Интересная конструкция встретилась в твоем коде.
Код:
 var f = v8New("File", path);
var files = f.IsFile() ? [ f ] : FindFiles(path, "*", false);


[ f ] для объекта Файл это что? не понимаю :(


Конструкция

Код:
var a = [];

означает неявное создание массива, аналог

Код:
var a = new Array();

Ее преимущество перед последней в том, что можно создавать и сразу инициализировать массив:

Код:
var a = ['Снегопат', 'рулит']; // в а будет массив c 2-мя элементами "Снегопат" и "рулит".

Этой возможностью я и воспользовался.

Такой "явный" вариант менее красив:

Код:
var f = v8New("File", path);
var a = new Array();
a.push(f);

var files = f.IsFile() ? a : FindFiles(path, "*", false);

(Потому что создает массив всегда, а не тогда, когда он действительно нужен и потому что короче).

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 ноя 2011, 10:11 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
О как. Век живи, век учись.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 16:23 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
1. При запуске непосредственного тестирования нужно делать автоматическую перезагрузку уже загруженных тестов перед тестированием
Сейчас приходится каждый раз сначала жать Перезагрузить, а потом "Выполнить все". Неудобно.
2. Что-то у меня опять исключения непойманные лезут, что я делаю не так :(
вроде тест создал как копию


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 18:15 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
1.Ок, сделаю это поведение настраиваемым (опцию "Автоматически перезагружать тесты перед повторным выполнением").
Плюс, ты мог заметить, что сейчас тестраннер не умеет отслеживать изменения в библиотеках, от которых тест зависит (которые, по сути, тестируются). Тесты надо перезагружать после перезагрузки библиотек, я пока в раздумьях, как сделать это. Пока использую то, что есть и пытаюсь определить наиболее эффективные сценарии.

2. Не ловятся исключения, являющиеся синтаксическими ошибками в скриптах, а также связанные с тем, что, например, библиотеку или скрипт, от которого зависит тестовый скрипт перезагрузили, а тесты - нет. Приведи конкретный пример воспроизведения такого поведения.

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 19:28 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
kuntashov писал(а):
Плюс, ты мог заметить, что сейчас тестраннер не умеет отслеживать изменения в библиотеках, от которых тест зависит (которые, по сути, тестируются). Тесты надо перезагружать после перезагрузки библиотек, я пока в раздумьях, как сделать это. Пока использую то, что есть и пытаюсь определить наиболее эффективные сценарии.

Да, изменения в библиотеках не отслеживаются, это очень неудобно.
Еще серьезный вопрос: фактически у нас сейчас тесты должны находиться отдельно от тестируемых скриптов, поэтому и возникает вышеописанная проблема, да и неудобно фактически работать с двумя файлами одновременно.
Может быть, все-таки сделаем возможность для тестов находится в одном скрипте с рабочим кодом для использования чистого юнит-тестирования ?
это очень удобно для разработки путем TDD, я, например, очень привык так работать :)
ИМХО самое простое - это убрать ограничение на имя тестового скрипта, больше никаких особых ограничений вроде бы нет.
Правда, для того же Интеллисенс-а будет довольно много тестов, и сам скрипт в этом случае будет довольно толстым.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 20:21 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
artbear писал(а):
Да, изменения в библиотеках не отслеживаются, это очень неудобно.

Не готов полностью согласиться, особенно со словом "очень" :). Основной (тестируемый) скрипт открывается на редактирование при помощи scriprtdev.js и перегружается автоматически. Если сделать возможность перегрузки тестов прямо перед запуском, о чем мы говорили чуть выше, то проблема исчезнет.

artbear писал(а):
Еще серьезный вопрос: фактически у нас сейчас тесты должны находиться отдельно от тестируемых скриптов, поэтому и возникает вышеописанная проблема, да и неудобно фактически работать с двумя файлами одновременно.
Может быть, все-таки сделаем возможность для тестов находится в одном скрипте с рабочим кодом для использования чистого юнит-тестирования ?
это очень удобно для разработки путем TDD, я, например, очень привык так работать :)
ИМХО самое простое - это убрать ограничение на имя тестового скрипта, больше никаких особых ограничений вроде бы нет.
Правда, для того же Интеллисенс-а будет довольно много тестов, и сам скрипт в этом случае будет довольно толстым.


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

Мне удобнее и приятнее, когда код и тесты в разных файлах. Это субъективно, конечно же.

Но благодаря тому, что код скрипта открыт и у нас в руках такая удобная система контроля версий, мы можем попробовать варианты, реализующие любые удобные для кого бы то ни было сценарии работы. :)

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 20:33 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Лады, соглашусь по обоим пунктам - вопрос удобства и предпочтений.
Следующий момент -
1. из опыта тестирования знаю, что лишние сообщения об успешном прохождении тестов очень мешают.
Предлагаю сообщения типа "Тест testIntellisence_artbear::TestXXX выполнен успешно" не показывать.
2. Поля "Успешно" и "Провалено" подсвечивать соответствующим цветом (фоном) для показа успешности/неуспешности прохождения тестов - наверняка ведь знаешь о так называемой "зеленой" полосе. Очень удобно.
ОФФ в Notepad++ можно как-нибудь получить список функций/блоков файла, наподобие Снегопатовского, или только поиском?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 21:05 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
artbear писал(а):
Лады, соглашусь по обоим пунктам - вопрос удобства и предпочтений.
Следующий момент -
1. из опыта тестирования знаю, что лишние сообщения об успешном прохождении тестов очень мешают.
Предлагаю сообщения типа "Тест testIntellisence_artbear::TestXXX выполнен успешно" не показывать.
2. Поля "Успешно" и "Провалено" подсвечивать соответствующим цветом (фоном) для показа успешности/неуспешности прохождения тестов - наверняка ведь знаешь о так называемой "зеленой" полосе. Очень удобно.
ОФФ в Notepad++ можно как-нибудь получить список функций/блоков файла, наподобие Снегопатовского, или только поиском?


1. Согласен, сделаю.
2. Да, это было в планах.

ОФФ. Я тоже на ноутпаде++, наверное, в нем есть какой нибудь плагин, делающий это (скорее всего на базе ctags должен быть точно), я не знаю, перемещаюсь по файлу поиском, в принципе, хватает :). Если найдешь что, скажи :)

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 22:04 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Обсуждение TestRunner'а и порта jsUnit переносим в топик http://snegopat.ru/forum/viewtopic.php?f=3&t=67

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 ноя 2011, 23:07 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
kuntashov писал(а):
2. Не ловятся исключения, являющиеся синтаксическими ошибками в скриптах, а также связанные с тем, что, например, библиотеку или скрипт, от которого зависит тестовый скрипт перезагрузили, а тесты - нет. Приведи конкретный пример воспроизведения такого поведения.

Запускаю твои тесты из каталога scripts\Tests\Automated\TextWindow\
выдается
Цитата:
Тест testTextWindow::TestGetText выполнен успешно
Тест testTextWindow::TestSetText выполнен успешно
Тест testTextWindow::TestRangeGetText выполнен успешно
Тест testTextWindow::TestRangeSetText1 выполнен успешно
Тест testTextWindow::TestRangeSetText2 выполнен успешно
Тест testTextWindow::TestRangeSetText3 выполнен успешно
Тест testTextWindow::TestGetLines выполнен успешно
Тест testTextWindow::TestGetLine выполнен успешно
Тест testTextWindow::TestDeleteLine1 выполнен успешно

после выдается окно сообщений об ошибке в файле jsUnitCore в строке 46, позиция 8, Источник и Описание (null)
Соответственно другие тесты уже не выполняются :(
что не так?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB