Как я могу получить Jasmine-TS для выполнения моих спецификаций с конкретным семенем? - PullRequest
0 голосов
/ 19 января 2019

Я выполняю юнит-тесты, используя jasmine-ts версия 0.3.0.

Предыдущая версия работала нормально, но как только я обновился, я получил бы вывод:

Спецификации не найдены

Я обнаружил проблему github эту ), где кто-то прокомментировал:

Все аргументы, передаваемые jasmine-ts, должны иметь один из них в этом аргументе argv.config || process.env.JASMINE_CONFIG_PATH || "spec/support/jasmine.json";

Действительно, создание jasmine.json файла решило проблему «Нет спецификаций»:

{
    "spec_dir": "../src/**/specs",
    "spec_files": [
        "**/*[sS]pec.ts"
    ],
    "stopSpecOnExecutionFailure": false,
    "random": true
}

Выполняя мои тесты случайным образом, я обнаружил, что у меня возникли некоторые сбои, поэтому я хотел засечь выполнение жасмина определенным начальным числом, чтобы воспроизвести проблему.

Я попытался добавить конфигурацию "seed": 123 к своему jasmine.json, но это не сработало. Я нашел документы , описывающие, как должен выглядеть jasmine.json, и в нем не было упоминания о конфигурации seed.

Что упоминалось seed, так это раздел о параметрах командной строки здесь .

Итак, я попробовал:

jasmine-ts --seed=123 --config="./jasmine.json"

(Помните, что файл конфигурации, по-видимому, необходим - или, по крайней мере, я не видел никакой опции для указания, где мои спецификации, без его использования)

Это, однако, не сработало, поскольку Жасмин вошла:

Рандомизировано с семенем 94263

Файл конфигурации, который я предоставляю, по-видимому, переопределяет параметры командной строки. Я могу увидеть это, указав опцию --random=false, но в выводе все равно будет указано Randomized with seed ..., поскольку мой jasmine.json содержит "random": true.

Итак ... Я не могу указать seed в jasmine.json, и указание --seed=... не имеет никакого эффекта.

Как в этом случае установить семена с помощью jasmine-ts 0.3.0?

1 Ответ

0 голосов
/ 18 июля 2019

Столкнулся с той же проблемой с обычным Jasmine и обнаружил, что он не копирует это в loadConfig по какой-то причине, но есть метод для объекта jasmine, который вы создаете, если запускаете его из своего собственного сценария:

const jasmine = new Jasmine();
jasmine.seed(1234);
...