Skip to content

Instantly share code, notes, and snippets.

@artbear
Last active March 27, 2018 14:21
Show Gist options
  • Save artbear/cecb0aa9ee0165966ed8de8041a376fa to your computer and use it in GitHub Desktop.
Save artbear/cecb0aa9ee0165966ed8de8041a376fa to your computer and use it in GitHub Desktop.
Получить путь до файла обработки выполняемого теста в xUnitFor1C

А правильный вариант мой https://gitter.im/xDrivenDevelopment/xUnitFor1C?at=5aba3416e4ff28713a7b8a33

Artur Ayukhanov @artbear 15:07

@1cgh @pallid В версии 4.Х все просто, оказывается :)

Для получения реального пути к файлу обработки теста 1 достаточно в файле теста определить свойство ПутьКФайлуПолный например,

  • как реквизит в Упр.Форме (для запуска в управляемом приложении) или обычной форме (для запуска в обычном приложении)
  • или как экспортная переменная в модуле упр.формы (для запуска в управляемом приложении) или модуле объекта (для запуска в обычном приложении)
  • или как реквизит в Упр.Форме (для запуска в управляемом приложении) или реквизит обработки (для запуска в обычном приложении)

2 в своем тесте обратиться к этому реквизиту/переменной

Фреймворк в это свойство загрузит правильный полный клиентский путь!

Старый вариант:

https://gitter.im/xDrivenDevelopment/xUnitFor1C?at=5a907031e4ff28713aba8f5b

Pallid @pallid февр. 23 22:49 Здравствуйте. Подскажите как можно определить путь до обработки выполняемого теста? Тест проверяет работу внешней обработки, и хочется указывать путь для создания объекта тестируемой обработки относительно пути обработки теста.

Alexander Kuntashov @kuntashov февр. 28 22:57 @pallid старое доброе ЭтотОбъект.ИспользуемоеИмяФайла не работает или я не понял вопрос?

Pallid @pallid март 01 10:02 @kuntashov не работает. Ну то есть нормально работает только для xddTestRunner.epf, для самих обработок теста ЭтотОбъект.ИспользуемоеИмяФайла возвращает временный путь

Pallid @pallid март 01 10:22 В общем пока вот так решил проблему

Процедура Инициализация(КонтекстЯдраПараметр) Экспорт

    КонтекстЯдра = КонтекстЯдраПараметр;

    Если КонтекстЯдра.ТекущийКонтейнер.Свойство("Имя") и КонтекстЯдра.ТекущийКонтейнер.Имя = "Тесты_ПроверкаВнешнейОбработки" Тогда        
        Массив = КонтекстЯдра.ТекущийКонтейнер.Строки;    
        Структура = Массив[0];
        Если Структура.Свойство("Путь") Тогда        
            ИмяФайлаВнешнейОбработкиТекущегоТеста = Структура.Путь;
        КонецЕсли;        
    КонецЕсли;    

    Если ЗначениеЗаполнено(ИмяФайлаВнешнейОбработкиТекущегоТеста) Тогда    
        Файл  = Новый Файл(ИмяФайлаВнешнейОбработкиТекущегоТеста);
        ИмяФайлаВнешнейОбработки = Файл.Путь + "ВнешняяОбработка.epf";
    КонецЕсли;

    ОбработкаОбъект = ВнешниеОбработки.Создать(ИмяФайлаВнешнейОбработки);

        ....

КонецПроцедуры

Alexander Kuntashov @kuntashov март 01 11:35 @pallid 👍

Pallid @pallid март 01 12:01 @kuntashov я просто думал может кто знает как это сделать не через такой способ, а более очевидный. Т.е как выполняются тесты на gitlab ci, когда надо протестировать внешнюю обработку

Evhen Sosna @pumbaEO март 01 12:02 в ванессе я специально добвлял макрос workspaceRoot что-бы можно было указать путь к проекту и на основании этого пути резолвить всякие имена

Andrey @KrapivinAndrey март 01 12:22 А разве в коде его можно использовать? Я использую какую-то магическую функцию со времен первого курса по ванессе. Чтобы открывать обработку из корня проекта Причем для УФ и ОФ она разная. ОФ получает путь относительно обработки vanessa-behavior. а УФ путь относительно обработки шага...

Evhen Sosna @pumbaEO март 01 12:45 То просто в ОФ я не добавлял нормального поведения.

Andrey @KrapivinAndrey март 01 14:11 вечером покурю как пользовать

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment