AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.01.2020, 18:49   #1  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от mazzy Посмотреть сообщение

Предположим, у меня есть класс с unit-тестами.
Понятно как запустить этот класс на сервере - установить у класса свойство RunOn=Server
Вынести тестовый код в статические методы и runclassmethodil из тестовых методов?
Старый 07.01.2020, 18:54   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от belugin Посмотреть сообщение
Вынести тестовый код в статические методы
https://coub.com/view/12fmyh
оно, конечно, да... но можно как-то попроще?
__________________
полезное на axForum, github, vk, coub.
Старый 07.01.2020, 23:32   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от mazzy Посмотреть сообщение
оно, конечно, да... но можно как-то попроще?
Поискал в наших тестах нашел runas и invokestatocmethodil - скорее всего, ничего более удобного нет
За это сообщение автора поблагодарили: mazzy (2).
Старый 08.01.2020, 00:14   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от belugin Посмотреть сообщение
Поискал в наших тестах нашел runas и invokestatocmethodil - скорее всего, ничего более удобного нет
жаль.
дело в том, что для runAs должен быть метод со специальной сигнатурой - параметром только контейнер. Кроме того, в контейнер далеко не все получится засунуть.

что тут же делает тестирование в CIL дико трудозатратным.

============
Если хочется попробовать, то можно взять проект https://github.com/mazzy-ax/SysString

задать свойство RunOn=Server для класса StringTest
и добавить два метода:

в класс String:
X++:
public server static container trimIdentIL(container pack)
{
    boolean isCLR = xSession::isCLRSession();

    str s = conPeek(pack, 1);
    SysText     text    = SysText::construct(s);
    str         ret     = SysText::trimIdent(text).getText();

    return [ret];
}
и в класс StringTest:
X++:
void testTrimIdent_IL()
{
    str s = @'
    ABC
        123
    456
    ';

    anytype dummy = new XppILExecutePermission().assert();
    container ret = runClassMethodIL(ClassStr(String), staticMethodStr(String, trimIdentIL), [s]);

    this.assertEquals('ABC\n    123\n456', conPeek(ret, 1));
}
но это как-то сильный перебор для обычных проектов, в которых нет специально подготовленных для CIL методов.
я надеялся, что как-нибудь допилили SysTest-классы
__________________
полезное на axForum, github, vk, coub.
Теги
cil, unit test

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012 Debug: CIL and X++ mismatched DSPIC DAX: Программирование 3 30.09.2017 00:22
Workflow в realtime можно выполнить в AX2012? lvan DAX: Программирование 6 22.06.2016 18:52
AX2012: базовые типы и результаты операторов div и mod отличаются в X++ и в CIL gl00mie DAX: Программирование 0 25.09.2014 11:13
AX2012: Не компилируется CIL iCloud DAX: Программирование 9 30.07.2013 19:32
Dynamics AXBR: AX2012 – Common Intermediate Language (CIL) – (Parte I) Blog bot DAX Blogs 0 04.04.2013 09:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:42.