Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了单元测试 – 使用TestBed进行Angular2测试获取区域未定义错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在研究Angular教程 https://angular.io/docs/ts/latest/guide/testing.html来构建我的第一个单元测试.在进入TESTBed示例之前,我能够完成所有工作.当我将TESTBed添加到混合中时,我得到’Uncaught ReferenceError:Zone is not defined’.

在我的spec-bundle中,I区声明并初始化了TESTBed环境.

规格束

Error.stackTraceLimit = Infinity;

require('phantomjs-polyfill');

require('core-js/es6');
require('core-js/es7/reflect');

// Typescript emit Helpers polyfill
require('ts-Helpers');

// DO NOT REORDER: Dependency order needs to be Strictly followed
require('zone.js/dist/zone');
require('zone.js/dist/long-stack-trace-zone');
require('zone.js/dist/async-test');
require('zone.js/dist/fake-async-test');
require('zone.js/dist/sync-test');
require('zone.js/dist/proxy');
require('zone.js/dist/jasmine-patch');

// RxJS
require('rxjs/Rx');

var tesTing = require('@angular/core/tesTing');
var browser = require('@angular/platform-browser-dynamic/tesTing');

tesTing.TESTBed.initTestEnvironment(
    browser.browserDynamicTesTingModule,browser.platformBrowserDynamicTesTing()
);

Object.assign(global,tesTing);

window.__karma__ && require('./karma-require');

测试文件

import { ComponentFixture,TESTBed } from '@angular/core/tesTing';   
import { someComponent } from './some.component';

let fixture: ComponentFixture<someComponent>;

describe('orders Component',() => {

    let ordersComponentstub: someComponent;

    beforeEach(() => {
        TESTBed.configureTesTingModule({
            declarations: [someComponent]

        });
    });

});

解决方法

我通过在我的配置中添加以下内容来修复我的项目.
我正在使用Wallaby.js来解决这个问题,我将以下行添加到我的module.exports中

{pattern:’node_modules / zone.js / dist / zone.js’,包括:true,watched:truE}

如果您正在使用像业力这样的东西,则应该应用相同的解决方案.

大佬总结

以上是大佬教程为你收集整理的单元测试 – 使用TestBed进行Angular2测试获取区域未定义错误全部内容,希望文章能够帮你解决单元测试 – 使用TestBed进行Angular2测试获取区域未定义错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。