Существует ли способ упаковать мои модульные тесты с ПАРИТЕТОМ или PerlApp?

Если вам не нравятся break s и goto s, вы можете использовать «традиционный» цикл for вместо for-in с дополнительным условием прерывания:

int a, b;
bool abort = false;
for (a = 0; a < 10 && !abort; a++) {
    for (b = 0; b < 10 && !abort; b++) {
        if (condition) {
            doSomeThing();
            abort = true;
        }
    }
}
7
задан daotoad 29 July 2009 в 03:13
поделиться

1 ответ

Я, вероятно, не скажу вам больших новостей, если скажу вам, что PAR (и, вероятно, также perlapp) не предназначены для упаковки всего набора тестов и множества CPAN-модулей создавать побочные продукты. Они предназначены для упаковки автономных приложений или двоичных JAR-подобных библиотек модулей.

При этом вы можете добавлять произвольные файлы в PAR-архив (как в библиотеки .par, так и в автономные .exe), используя pp - переключатель. В случае автономного исполняемого файла содержимое будет извлечено в $ ENV {PAR_TEMP}. "/ Inc" во время выполнения.

Это оставляет вам проблему повторного использования исполняемого файла, упакованного в PAR, для запуска теста жгут (и позволяя ему запускать ваш исполняемый файл как «perl»). У меня нет готового решения для этого, но недавно я работал над тем, чтобы исполняемые файлы, упакованные в PAR, можно было повторно использовать в качестве интерпретаторов perl более или менее общего назначения. Два подводных камня, прежде чем я объясню, как вы можете это использовать:

  • Ваше приложение не будет волшебным образом называться "perl" и добавляться в ваш $ PATH.
  • "Повторное использование" приложения в качестве Perl общего назначения требует специальных параметров и не в настоящее время поддерживает обычные параметры perl (те, что есть в perlrun). Он может просто запустить внешний Perl-скрипт по вашему выбору.

К сожалению, последняя проблема может убить этот подход для вас. Я думал о поддержке параметров командной строки Perl, но в ближайшее время не буду реализовывать его.

Вот рецепт, как получить PAR с поддержкой «многоразового exe»:

4
ответ дан 7 December 2019 в 12:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: