Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:development:faq:ru [2017/01/14 11:34]
anton [Тестирование]
abills:docs:development:faq:ru [2019/07/09 16:19] (текущий)
asmodeus [Тестирование]
Строка 1: Строка 1:
 =====Общие вопросы===== =====Общие вопросы=====
  
 +==== Мануал по работе с фреймворком ABillS ==== 
 +[[abills:​docs:​development:​manual:​ru|Мануал разработчика]]
 ====Форматирование кода==== ====Форматирование кода====
   * В форматирование кода не использовать табов только двойные пробелы ​   * В форматирование кода не использовать табов только двойные пробелы ​
   * Форматирование if else   * Форматирование if else
  
-<​code>​+<​code ​perl>
 if (expr) { if (expr) {
   ...   ...
Строка 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;​
 +
  
 Общий шаблон функций Общий шаблон функций
  
-<​code>​+<​code ​perl>
 #​********************************************************** #​**********************************************************
 =head2 test_function($attr) - Test function =head2 test_function($attr) - Test function
Строка 54: Строка 81:
   - Минимизируйте использование глобальных переменных в функциях.   - Минимизируйте использование глобальных переменных в функциях.
  
 +====Можно ли использовать HTML в коде ?====
  
 +Ни в коем случае не используйте HTML в коде управляющей модели,​ вместо этого используйте обекты ABillS::​HTML ​ или шаблоны ​
 ====Дополнительные модули==== ====Дополнительные модули====
  
Строка 63: Строка 92:
 (Библиотека Misc.pm) (Библиотека Misc.pm)
  
 +С проверкой ошибок код выглядит так ​
 +<code perl>
 + my $loaded_imager_error = load_pmodule( "​Imager",​ { RETURN => 1 } );
 + if ( $loaded_imager_error ){
 +   print $loaded_imager_error;​
 +   ​return 0;
 + }
 +</​code>​
  
  
Строка 87: Строка 124:
 Для тестирования системы существует каталог с тестами ​ **abills/​t** Для тестирования системы существует каталог с тестами ​ **abills/​t**
  
-  perl web.t+  ​make 
 + 
 +Жесткий тест работоспособности,​ никогда его не выполняйте на рабочей системе,​ чревато пропажей данных 
 +  ​perl web.t brutal
  
 тестирование синтаксиса и стрес тест веб приложений\\ тестирование синтаксиса и стрес тест веб приложений\\
Строка 99: Строка 139:
   perl Aaa.t dhcp_test dhcp.discovery   perl Aaa.t dhcp_test dhcp.discovery
  
-Запуск тестов для ​модуля или папки +Тестирование абон ​платы тарифного плана 
-  [[abills:​docs:​development:​tester|Tester]]+ 
 +  perl Tariffs.t FILENAME=tp_test1.tp 
 + 
 +^FILENAME | файл ​с описанием ​тарифного плана и параметров абонента | 
 + 
 +Для задания логина и пароля авторизации используется файл **t/​.test** 
 + 
 +  login:​password 
 + 
 +В системе также есть специальный скрипт запуска выделенных тестов,​ которые хранятся в отдельных каталогах 
 +[[abills:​docs:​development:​tester|Запуск тестов для модуля или папки]] 
 + 
 + 
 + 
 ====Создание демона==== ====Создание демона====
  
Строка 135: Строка 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
 +
 +
 +