Jasmine: Angular Typescript プロジェクトで「不完全: 仕様が見つかりません」というエラーが表示される 質問する

Jasmine: Angular Typescript プロジェクトで「不完全: 仕様が見つかりません」というエラーが表示される 質問する

理解できない理由で、Karma は Jasmine がテスト仕様を見つけられないと言っています。ng testテストを実行するために Angular 9、Typescript を使用しています。またjasmine init、jasmine.json 構成ファイルを作成するためにも実行しました。いくつかの構成変更、ダミーのテスト JavaScript ファイルの作成などを試みましたが、それでも同じ「仕様が見つかりません」というメッセージが表示されます。これは本当にイライラする状況で、私はここで何か明らかなことを見落としているだけだと思います。

テストフォルダー構造:

spec
    services
        address.service.spec.ts
        login.service.spec.ts
        ...
     support
         jasmine.json

ジャスミン.json:

{
  "spec_dir": "spec",
  "spec_files": [
  "**/*[sS]pec.js", // tried with "**/*[sS]pec.ts"
  "services/*[sS]pec.js" // tried with "services/*[sS]pec.ts"
  ],
  "helpers": [
  "helpers/**/*.js" // tried with "helpers/**/*.ts"
  ],
  "stopSpecOnExpectationFailure": false,
  "random": false
}

karma.conf.js :

// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function(config) {
    config.set({
        basePath: '',
        frameworks: ['jasmine', '@angular-devkit/build-angular'],
        plugins: [
            require('karma-jasmine'),
            require('karma-chrome-launcher'),
            require('karma-jasmine-html-reporter'),
            require('karma-coverage-istanbul-reporter'),
            require('@angular-devkit/build-angular/plugins/karma'),
        ],
        client: {
            clearContext: false, // leave Jasmine Spec Runner output visible in browser
        },
        coverageIstanbulReporter: {
            dir: require('path').join(
                __dirname,
                './coverage/censored',
            ),
            reports: ['html', 'lcovonly', 'text-summary'],
            fixWebpackSourcePaths: true,
        },
        reporters: ['progress', 'kjhtml'],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: ['Chrome'],
        singleRun: false,
        restartOnFileChange: true,
    });
};

ベストアンサー1

今日、このエラーが発生しました。私の場合、ファイルに構文レベルのエラーがあったため.ts、コンパイルできませんでした。

上記の状況では、テストは開始されない(代わりにコンパイル エラーが表示される)はずです。

しかし、何らかの理由で、テストが開始され、Jasmine「 」ログで失敗しますNo specs found

おすすめ記事