我正在使用jasmine-ts
版本0.3.0运行单元测试。
以前的版本运行良好,但是升级后,我会得到输出:
未找到规格
我发现有人评论的github issue(和this one)
传递给
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
,但这没有用。我发现一些docs描述了jasmine.json
的外观,但其中没有提及seed
的配置。
提到seed
的是有关命令行选项here的部分。
所以我尝试了:
jasmine-ts --seed=123 --config="./jasmine.json"
(请记住,配置文件显然是必需的-或至少我没有看到任何用于指定我的规格不使用的选项)
但是,这在茉莉花记录下不起作用:
随机种子94263
我提供的配置文件显然覆盖了命令行选项。我可以通过指定选项--random=false
看到这一点,但是输出仍然显示Randomized with seed ...
,因为我的jasmine.json包含"random": true
。
所以...我无法在jasmine.json中指定seed
,并且指定--seed=...
无效。
在这种情况下,如何使用茉莉-ts 0.3.0设置种子?
答案 0 :(得分:0)
遇到常规Jasmine的相同问题,发现由于某种原因它没有将其复制到loadConfig
中,但是如果您是通过自己的脚本运行的,则在您创建的jasmine对象上有一个方法:< / p>
const jasmine = new Jasmine();
jasmine.seed(1234);
答案 1 :(得分:0)
从 jasmine-ts 版本 0.3.2(here's 已关闭的问题)开始,命令行参数现在被转发到 jasmine,因此给定 package.json 如下:
{
...
"scripts": {
"test": "jasmine-ts.cmd --config=jasmine.json"
}
}
您可以从命令行运行 npm run test -- --seed=1234
。