Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:development:faq:ru [2017/03/28 11:14] anton [Форматирование кода] |
abills:docs:development:faq:ru [2019/07/09 16:19] (текущий) asmodeus [Тестирование] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
=====Общие вопросы===== | =====Общие вопросы===== | ||
+ | ==== Мануал по работе с фреймворком ABillS ==== | ||
+ | [[abills:docs:development:manual:ru|Мануал разработчика]] | ||
====Форматирование кода==== | ====Форматирование кода==== | ||
* В форматирование кода не использовать табов только двойные пробелы | * В форматирование кода не использовать табов только двойные пробелы | ||
Строка 14: | Строка 15: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | ===Однострочные или Выражения=== | ||
+ | |||
+ | $result = ($total_users == 1) ? "Ok" : "Fail"; | ||
* для удобства форматирования кода можно воспользоваться утилитой perltidy | * для удобства форматирования кода можно воспользоваться утилитой perltidy | ||
https://support.abills.net.ua/perltidy.cgi | https://support.abills.net.ua/perltidy.cgi | ||
+ | |||
+ | |||
+ | ====Переменные==== | ||
+ | |||
+ | * Пременные указываюстя строчными буками | ||
+ | |||
+ | $test, @devices, %switch | ||
+ | |||
+ | * Обєкты указываются с заглавной | ||
+ | |||
+ | $Test = Test->new(); | ||
+ | |||
+ | * Масивы указываюстя в множественном числе | ||
+ | |||
+ | my @devices = (); | ||
+ | my @users = (); | ||
+ | |||
+ | * Хеши в единсвенном | ||
+ | |||
+ | %status_list = (); | ||
+ | $status_list{disable}=1; | ||
+ | |||
Общий шаблон функций | Общий шаблон функций | ||
Строка 54: | Строка 81: | ||
- Минимизируйте использование глобальных переменных в функциях. | - Минимизируйте использование глобальных переменных в функциях. | ||
+ | ====Можно ли использовать HTML в коде ?==== | ||
+ | Ни в коем случае не используйте HTML в коде управляющей модели, вместо этого используйте обекты ABillS::HTML или шаблоны | ||
====Дополнительные модули==== | ====Дополнительные модули==== | ||
Строка 65: | Строка 94: | ||
С проверкой ошибок код выглядит так | С проверкой ошибок код выглядит так | ||
<code perl> | <code perl> | ||
- | my $loaded_imager_result = load_pmodule( "Imager", { RETURN => 1 } ); | + | my $loaded_imager_error = load_pmodule( "Imager", { RETURN => 1 } ); |
- | if ( $loaded_imager_result ){ | + | if ( $loaded_imager_error ){ |
- | print $loaded_imager_result; | + | print $loaded_imager_error; |
return 0; | return 0; | ||
} | } | ||
Строка 95: | Строка 124: | ||
Для тестирования системы существует каталог с тестами **abills/t** | Для тестирования системы существует каталог с тестами **abills/t** | ||
- | perl web.t | + | make |
+ | |||
+ | Жесткий тест работоспособности, никогда его не выполняйте на рабочей системе, чревато пропажей данных | ||
+ | perl web.t brutal | ||
тестирование синтаксиса и стрес тест веб приложений\\ | тестирование синтаксиса и стрес тест веб приложений\\ | ||
Строка 113: | Строка 145: | ||
^FILENAME | файл с описанием тарифного плана и параметров абонента | | ^FILENAME | файл с описанием тарифного плана и параметров абонента | | ||
- | Запуск тестов для модуля или папки | + | Для задания логина и пароля авторизации используется файл **t/.test** |
- | [[abills:docs:development:tester|Tester]] | + | |
+ | login:password | ||
+ | |||
+ | В системе также есть специальный скрипт запуска выделенных тестов, которые хранятся в отдельных каталогах | ||
+ | [[abills:docs:development:tester|Запуск тестов для модуля или папки]] | ||
Строка 152: | Строка 189: | ||
</code> | </code> | ||
+ | |||
+ | ====Языковые маркеры==== | ||
+ | |||
+ | %lang = (); | ||
+ | |||
+ | обязательно писать большими буквами | ||
+ | |||
+ | отображение в шаблонах | ||
+ | |||
+ | _{LANG_MARKER}_ | ||
+ | | ||
+ | ====JSON тестирование==== | ||
+ | Для того чтобы протестировать функцию: | ||
+ | Создайте тест в ''usr>abills>t'' \\ | ||
+ | Подключите JSON.t | ||
+ | <code perl> | ||
+ | require "./JSON.t"; | ||
+ | </code> | ||
+ | Создайте JSON заполнив его. API_KEY текущего администратора \\ | ||
+ | <code perl> | ||
+ | my @test_list = ( | ||
+ | { | ||
+ | name => 'InfoFields', | ||
+ | params => { | ||
+ | qindex => 96, | ||
+ | API_KEY => '1523615231263123', | ||
+ | json => 1 | ||
+ | }, | ||
+ | result => '', | ||
+ | valid_json => 1, | ||
+ | schema => { | ||
+ | |||
+ | } | ||
+ | } | ||
+ | ); | ||
+ | </code> | ||
+ | Передайте данные в функцию json_test \\ | ||
+ | <code perl> | ||
+ | json_test( | ||
+ | \@test_list, | ||
+ | { TEST_NAME => 'info_fields_new test' }); | ||
+ | </code> | ||
+ | Выполните ваш тест запустив програму \\ | ||
+ | |||
+ | #prove -v <название теста>.t | ||
+ | |||
+ | |||
+ |