Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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
 +
 +
 +