Typemoq and Angular-cli do not work together

The base Generated Angular 2 cli application contains some karma jasmine tests.

If you then npm install typemoq --save-dev

and add something that uses typemoq to one of the test files.

import * as Moq from 'typemoq';

...

it('pointless test is pointless', async(() => {
   let carMock = Moq.Mock.ofInstance(Car);
}));

class Car { ... }

Then, when the tests are executed, the error below occurs. Has anyone seen a thing that uses typemoq with angular-cli or when pulling dependencies into angular-cli projects in general? What is the problem?

TypeError: cannot read the 'substr' undefined property in a function. (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack-sources \ node_modules \ source-map \ Lib \ source- node.js: 115: 26) in Array.forEach (native) in SourceMapConsumer_eachMapping [like eachMapping ] (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ node_modules \ source-map \ lib \ source-map-consumer.js: 155: 14) in the .SourceNode_fromStringWithSourceMap function [like fromStringWithSourceMap] ( C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ node_modules \ source-map \ lib \ source- node.js: 80: 24) on SourceMapSource.node (C: \ Source \ ng-example -app \ foo \ node_modules \ webpack-sources \ lib \ SourceMapSource.js: 42: 20) on ReplaceSource.node (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ReplaceSource.js : 66: 29) in C:\ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 40: 49 on Array.map (native) in ConcatSource.node (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 39: 60) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 40: 49 on Array. map (native) in ConcatSource.node (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 39: 60) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 40: 49 on Array.map (native) in ConcatSource.node (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 39: 60) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 40: 49 on Array.map (native) in the ConcatSource file. node (C:\ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ ConcatSource.js: 39: 60) in the ConcatSource.proto.sourceAndMap file (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ SourceAndMapMixin.js: 28:18) on CachedSource.sourceAndMap (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack-sources \ lib \ CachedSource.js: 51: 28) in the collection . (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ Lib \ SourceMapDevToolPlugin.js: 57: 32) on Array.map (native) in the collection. (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ Lib \ SourceMapDevToolPlugin.js: 43: 84) in Array.forEach (native) in the collection. (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ Lib \ SourceMapDevToolPlugin.js: 42: 11) in Compilation.applyPlugins (C: \ Source \ ng-example-app \ foo \ node_modules \ tapable \ lib \ Tapable.js: 25: 14) in the compilation. (C:\ Source \ ng-sample-application \ Foo \ node_modules \ WebPack \ Lib \ Compilation.js: 616: 10) in Compilation.applyPluginsAsync (C: \ Source \ ng-example-app \ foo \ node_modules \ tapable \ lib \ Tapable .js: 73: 70) in the collection. (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ Lib \ Compilation.js: 612: 9) in Compilation.applyPluginsAsync (C: \ Source \ ng-example-app \ foo \ node_modules \ tapable \ lib \ Tapable.js: 73: 70) in the collection. (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ Lib \ Compilation.js: 608: 8) in Compilation.applyPluginsAsync (C: \ Source \ ng-example-app \ foo \ node_modules \ tapable \ lib \ Tapable.js: 73: 70) in Compilation.seal (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 554: 7) in the compiler. (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ Lib \ Compiler.js: 468: 16) in C:\ Source \ ng-example-app \ foo \ node_modules \ tapable \ lib \ Tapable.js: 152: 11 in the collection. (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ Lib \ Compilation.js: 452: 10) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation. js: 423: 12 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 335: 10 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 52: 16 at done (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 246: 17) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 44:16 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation. js: 335: 10 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 52: 16 at done (C:\ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 246: 17) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 44:16 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 335: 10 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 52: 16 at done (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 246: 17) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.JS: 44: 16 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 335: 10 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 52: 16 at done (C: \ Source \ ng -example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 246: 17) in C:\ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 44:16 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation. js: 335: 10 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ node_modules \ async \ lib \ async.js: 52: 16 with Object.async.forEachOf.async.eachOf (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ node_modules \ asynchronous \ Lib \ async.js: 236: 30) with Object.async.forEach.async.each (C: \ Source \ ng-example-application \ Foo \ node_modules \ WebPack \ node_modules \ asynchronous \ Lib \ async.js: 209: 22) in Compilation.addModuleDependencies (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 192: 8) in Compilation.processModuleDependencies (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 177: 7) in C:\ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 317: 12 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 124: 4 in Array.forEach (native) on callback (C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 123: 12) in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ Compilation.js: 147: 10 in C: \ Source \ ng-example-app \ foo \ node_modules \ webpack \ lib \ NormalModule.js: 209: 10 in C: \ Source \ ng -example-app \ foo \ node_modules \ webpack \ lib \ NormalModule.js: 164: 10 in C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 365: 3 in iterateNormalLoaders (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 206: 10) in iterateNormalLoaders (C: \ Source \ ng-example-app \ foo \ node_modules \ loader -runner \ lib \ LoaderRunner.js: 213:10) in C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 in runSyncOrAsync (C: \ Source \ ng-example-app \ foo \ node_modules \ loader -runner \ lib \ LoaderRunner.js: 125: 11) with iterateNormalLoaders (C: \ Source \ ng-sample-application \ Foo \ node_modules \ Runner loader \ Lib \ LoaderRunner.js: 224: 2) in iterateNormalLoaders (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 213: 10) in C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner .js: 228: 3 at context.callback (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 106: 13) in C: \ Source \ ng-example- app \ foo \ node_modules \ postcss-loader \ index.js: 67: 13 on process._tickCallback (internal / process / next_tick.js: 103: 7)\ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 in runSyncOrAsync (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 125: 11) with iterateNormalLoaders (C: \ Source \ ng-example-application \ Foo \ node_modules \ Runner loader \ Lib \ LoaderRunner.js: 224: 2) in iterateNormalLoaders (C: \ Source \ ng- example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 213: 10) in C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 at context.callback (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 106: 13) in C: \ Source \ ng-example-app \ foo \ node_modules \ postcss-loader \ index.js: 67: 13 on process._tickCallback (internal / process / next_tick.js: 103: 7)\ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 in runSyncOrAsync (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 125: 11) when iterateNormalLoaders (C: \ Source \ ng-example-application \ Foo \ node_modules \ Runner loader \ Lib \ LoaderRunner.js: 224: 2) in iterateNormalLoaders (C: \ Source \ ng- example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 213: 10) in C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 at context.callback (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 106: 13) in C: \ Source \ ng-example-app \ foo \ node_modules \ postcss-loader \ index.js: 67: 13 on process._tickCallback (internal / process / next_tick.js: 103: 7)\ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 125: 11) with iterateNormalLoaders (C: \ Source \ ng-example-application \ Foo \ node_modules \ Runner loader \ Lib \ LoaderRunner.js: 224: 2) in iterateNormalLoaders (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 213: 10) in C: \ Source \ ng-example -app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 at context.callback (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 106: 13) in C: \ Source \ ng-example-app \ foo \ node_modules \ postcss-loader \ index.js: 67: 13 on process._tickCallback (internal / process / next_tick.js: 103: 7)\ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 125: 11) with iterateNormalLoaders (C: \ Source \ ng-example-application \ Foo \ node_modules \ Runner loader \ Lib \ LoaderRunner.js: 224: 2) in iterateNormalLoaders (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 213: 10) in C: \ Source \ ng-example -app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 at context.callback (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 106: 13) in C: \ Source \ ng-example-app \ foo \ node_modules \ postcss-loader \ index.js: 67: 13 on process._tickCallback (internal / process / next_tick.js: 103: 7)2) in iterateNormalLoaders (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 213: 10) in C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 at context.callback (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 106: 13) in C: \ Source \ ng-example-app \ foo \ node_modules \ postcss-loader \ index.js: 67: 13 on process._tickCallback (internal / process / next_tick.js: 103: 7)2) in iterateNormalLoaders (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 213: 10) in C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 228: 3 at context.callback (C: \ Source \ ng-example-app \ foo \ node_modules \ loader-runner \ lib \ LoaderRunner.js: 106: 13) in C: \ Source \ ng-example-app \ foo \ node_modules \ postcss-loader \ index.js: 67: 13 on process._tickCallback (internal / process / next_tick.js: 103: 7)13 on process._tickCallback (internal / process / next_tick.js: 103: 7)13 on process._tickCallback (internal / process / next_tick.js: 103: 7)

+4
2

, :

  • angular -cli (ver 1.0.0-beta.21): npm install -g angular-cli

  • typemoq (ver 1.0.2): npm install --save-dev typemoq

  • : ng new PROJECT_NAME && cd PROJECT_NAME
  • . /src/app/app.component.spec.ts:
import * as Moq from 'typemoq';
...

it('pointless test is pointless', () => {
    let carMock = Moq.Mock.ofInstance(Car);
});

class Car {
}
  • ng test --watch=false, :

    4 4 (0.163 secs/0.157 secs)

- angular -cli typemoq?

+1

typemoq webpack.

, .

, , webpack https://github.com/mozilla/source-map/issues/247.

webpack/typemoq , , sourcemap typemoq.js.

webpack/js .., , TypeMoq , - , .

Revisited

, - systemjs webpack. Javascript TypeScript - , , - - "" .

, , :

  • Angular2 -Webpack-starter
  • karma start karma.conf.js
  • , . karma.conf.js, spec.bundle.js webpack.test.js

" " (https://github.com/AngularClass/angular2-webpack-starter/issues/1117)

, , , instanbul-instrumenter-loader - . https://github.com/AngularClass/angular2-webpack-starter/issues/1188 - ( ) 0.2.0.

reset - , , , ... .: -)

+1

Source: https://habr.com/ru/post/1657515/


All Articles