Можно ли выполнить шутниковый тест в указанном каталоге c? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть инструмент CLI, который генерирует файлы и папки на основе ввода из командной строки. Файлы и папки создаются относительно места, где выполняется скрипт (используя process.cwd() и path.resolve()).

Я пытаюсь написать системный тест для него. Поэтому я хочу выполнить функцию точки входа с набором параметров, позволить инструменту сгенерировать файлы и папки, а затем проверить правильность вывода.

Я написал свой тест следующим образом:

import 'core-js/stable';
import 'regenerator-runtime/runtime';

const generate = require('./generate');

describe('My CLI tool', () => {
    test('generates correct output', () => {
        const answers = {
            option: 'Input',
            optionBoolean: false,
            // etc.
        };

        await generate(answers);

        // I did not get so far yet
        // expect().toEqual();
    });
});

Проблема, с которой я столкнулся сейчас, заключается в том, что при выполнении моих тестов он генерирует файлы и папки, относящиеся к каталогу root моего проекта инструмента CLI.

Я также пытался создать каталог внутри проекта (например, __temp__), а затем выполнить тестовые примеры оттуда, но это ничего не изменило.

Я думаю, это потому, что сценарий npm выполняется относительно package.json?

...