0

Ich verwende karma viewport npm-Paket, um die viewport für Chrome-Browser über jasmine Testspezifikation festzulegen. Ich befolge die Richtlinien unter dem oben angegebenen Link. Es ist ziemlich einfach, aber irgendwie kann ich es nicht funktionieren.Ich kann den Namen 'Ansichtsfenster' nicht finden

Hier ist meine karma.conf.js.

module.exports = function (config) { 
    config.set({ 
     basePath: '', 
     frameworks: ['jasmine', '@angular/cli', 'viewport'], 
     plugins: [ 
      require('karma-jasmine'), 
      require('karma-chrome-launcher'), 
      require('karma-remap-istanbul'), 
      require('@angular/cli/plugins/karma'), 
      require('karma-viewport') 
     ], 
     files: [ 
      { pattern: './src/test.ts', watched: false } 
     ], 
     preprocessors: { 
      './src/test.ts': ['@angular/cli'] 
     }, 
     mime: { 
      'text/x-typescript': ['ts','tsx'] 
     }, 
     remapIstanbulReporter: { 
      reports: { 
       html: 'coverage', 
       lcovonly: './coverage/coverage.lcov' 
      } 
     }, 
     angularCli: { 
      config: './angular-cli.json', 
      environment: 'dev' 
     }, 
     reporters: config.angularCli && config.angularCli.codeCoverage 
      ? ['progress', 'karma-remap-istanbul'] 
      : ['progress'], 

     htmlReporter: { 
      outputFile: 'unit_test/report.html', 

      //Optional 
      pageTitle: 'Unit Tests', 
      subPageTitle: 'This file includes all unit test cases segmented according to their suites.', 
      groupSuites: true 
     }, 

     port: 9876, 
     colors: true, 
     logLevel: config.LOG_INFO, 
     autoWatch: true, 
     browsers: ['Chrome'], 
     singleRun: false 
    }); 
}; 

Test-Spezifikation, wo ich das Ansichtsfenster durch den Compiler

it('In mobile view, there should be three separate tabs to show daily, monthly and yearly savings', fakeAsync(() => { 

     component.scrollToCalc(); 
     // approximate time required to load the calculator with animation 
     tick(1000); 
     fixture.detectChanges(); 
     viewport.set(200, 300);  // viewport variable throws error 
     fixture.detectChanges(); 
    })); 

Fehler gezeigt zu setzen versuchen.

Name 'Ansichtsfenster' nicht gefunden.

Ich glaube nicht, dass ich keine weiteren Änderungen innerhalb TestBed Konfiguration vornehmen müssen diese Funktion zu erhalten. Einige wie viewport Variable ist nicht in meiner spec Datei ausgesetzt.

Antwort

0

Ihre karma.conf sieht gut aus - Sie haben das Framework aufgelistet & die in Ihren Plugins erfordern. Versuchen Sie Ansichtsfenster erklärt am Anfang Ihrer spec:

declare const viewport; 
describe('My Test',() => { 
... 
}); 

Ich glaube, der Grund, warum Sie Probleme haben, weil das Karma-Ansichtsfenster Rahmen in reinem Javascript geschrieben und das Typoskript Compiler hat keine Kenntnis davon. Indem Sie es am Anfang Ihrer Spezifikationsdatei deklarieren, sagen Sie im Wesentlichen dem Typoskript-Compiler "Vertrauen Sie mir, das existiert und ist verfügbar".

Verwandte Themen