2016-12-30 53 views
6

我似乎在设置wallable错误。ReferenceError:无法找到变量:在src/app/home/home.component.spec.ts中的地图:4 Angular 2

错误:

ReferenceError: Can't find variable: Map 
at src/app/home/home.component.spec.ts:4 

ReferenceError: Can't find variable: Map 
at http://localhost:63247/__modules/27.js?1483285680907:80 

设置我js文件像这样:

var wallabyWebpack = require('wallaby-webpack'); 

var webpackPostprocessor = wallabyWebpack({ 
    entryPatterns: [ 
    'src/wallabyTest.js', 
    'src/**/*spec.js' 
    ], 

    module: { 
    loaders: [ 
     {test: /\.css$/, loader: 'raw-loader'}, 
     {test: /\.html$/, loader: 'raw-loader'}, 
     {test: /\.js$/, loader: 'angular2-template-loader', exclude: /node_modules/}, 
     {test: /\.json$/, loader: 'json-loader'}, 
     {test: /\.styl$/, loaders: ['raw-loader', 'stylus-loader']}, 
     {test: /\.less$/, loaders: ['raw-loader', 'less-loader']}, 
     {test: /\.scss$|\.sass$/, loaders: ['raw-loader', 'sass-loader']}, 
     {test: /\.(jpg|png)$/, loader: 'url-loader?limit=128000'} 
    ] 
    } 
}); 

var compilerOptions = require('./src/tsconfig.json').compilerOptions; 

module.exports = function (wallaby) { 

    return { 
    files: [ 
     {pattern: 'src/**/*.ts', load: false}, 
     {pattern: 'src/**/*.d.ts', ignore: true}, 
     {pattern: 'src/**/*.css', load: false}, 
     {pattern: 'src/**/*.html', load: false}, 
     {pattern: 'src/**/*spec.ts', ignore: true}, 
     {pattern: 'node_modules/babel-polyfill/browser.js', instrument: false} 
    ], 

    tests: [ 
     {pattern: 'src/**/*spec.ts', load: false} 
    ], 

    testFramework: 'jasmine', 

    compilers: { 
     '**/*.ts': wallaby.compilers.typeScript(compilerOptions) 
    }, 

    postprocessor: webpackPostprocessor, 

    setup: function() { 
     window.__moduleBundler.loadTests(); 
    }, 

    debug: true 
    }; 
}; 

项目结构:

enter image description here

enter image description here

我今天刚刚发现了这个工具,并且非常高兴能够使它工作。我也有我的项目的GitHubGit Hub Link

ReferenceError: Can't find variable: Map 
    at src/app/home/home.component.spec.ts:4 

一些研究,我增加了以下我wallaby.js文件,以确保它不使用编译器,因为袋鼠有它自己之后。

{pattern: 'node_modules/babel-polyfill/browser.js', instrument: false}

但是我仍然得到同样的错误。

+0

您没有包含polyfills。例如,请参阅[部分](https://wallabyjs.com/docs/integration/angular.html#angular-2)中的第一个链接,例如,如何为Angular 2正确配置它。重要的位是'src/wallabyTest .ts'。 –

+0

@YaroslavAdmin我想弄明白,谢谢你的链接。你知道我在哪里可以找到一个工作的例子吗? – Drew1208

+0

该部分的第一个链接声称是工作示例:[Angular.js 2 angular-cli(Webpack)生成的项目](https://github.com/wallabyjs/ngCliWebpackSample#wallabyjs)。 –

回答

0

正如@ YaroslavAdmin正确提到的那样,重要的是src/wallabyTest.ts - 它是加载polyfills的地方。您的项目中缺少this file

相关问题