Angular 16中如何固定ng test的测试执行顺序?
Angular 16.2.0 禁用Jasmine随机测试、按顺序执行测试的正确方案
你之前的配置无效,是因为Angular 16+版本中,默认的Karma配置会被Angular CLI的构建工具覆盖,直接修改karma.config.js的client.jasmine节点不再生效。以下是两种可行的解决方法:
方法一:通过angular.json配置
在项目根目录的angular.json中,找到对应项目的test配置节点,在options里添加相关配置:
{ "projects": { "你的项目名称": { "architect": { "test": { "options": { "client": { "jasmine": { "random": false } } } } } } } }
方法二:在test.ts中直接设置Jasmine参数
打开src/test.ts文件,在Jasmine初始化前添加以下代码:
// 禁用随机测试执行顺序 jasmine.getEnv().configure({ random: false });
验证是否生效
运行测试命令ng test,观察控制台输出,如果不再显示Randomized with seed: xxx的提示,说明配置生效,测试会按文件顺序执行。
注意:如果你的项目是Angular CLI默认生成的,karma.config.js可能由构建工具自动生成,直接修改该文件的配置大概率不会被CLI读取,优先使用前两种方法。
内容的提问来源于stack exchange,提问作者Mako
相关产品推荐
相关产品推荐

