【问题标题】:ReferenceError: Quill is not defined while unit testingReferenceError:单元测试时未定义 Quill
【发布时间】:2018-07-20 09:46:27
【问题描述】:

我得到了this same issue,我在运行应用程序时解决了它并完美运行。

但是在运行单元测试时,现在出现了同样的问题。我正在使用业力和茉莉花工具。

我也尝试在 karma.config.js 填充中包含 quill.js 文件。

  files: ['./node_modules/quill/quill.js',
          { pattern: './src/test.ts', watched: true }
        ],

但仍然面临同样的问题。

有解决这个问题的办法吗?

【问题讨论】:

  • 如果您在 angular-cli.json 中包含了 quill js 文件,则无需在 karma.config.js 中提供该文件.

标签: angular typescript jasmine primeng quill


【解决方案1】:

我在脚本数组的 angular.json 文件中添加了"node_modules/quill/dist/quill.js" "test": { "builder": "@angular-devkit/build-angular:karma", "options": { "main": "src/test.ts", "karmaConfig": "src/karma.conf.js", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.spec.json", "scripts": [ "node_modules/quill/dist/quill.js" ], "styles": [ "src/scss/styles.scss" ], "assets": [ "src/assets", "src/favicon.ico" ] } }, 重启ng test,组件通过测试

【讨论】:

  • 另外,我必须将 QuillModule 添加到我在 *spec.ts 文件中的导入中。
【解决方案2】:

我已经通过使用带有 *ngIf 的标志解决了这个问题

<div class="ui-grid-col-6" style="width:114%;" *ngIf="display">
                   <p-editor [(ngModel)]="printEmailCOC.MailBody" [style]="{'height':'250px'}"></p-editor>
               </div>
  • 我在通过应用程序运行该代码时将该标志分配为 true
  • 我在通过单元测试运行该代码时将该标志设置为 false。

所以现在 p-editor DOM 元素不会渲染。而且我们在单元测试时并不关心 quill 包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    相关资源
    最近更新 更多