Jasmine: "Incomplete: No specs found" in Angular Typescript project

18,296

Solution 1

Solved it. Once i moved the .spec files into the /src folder, Jasmine detected them without any problems.

Solution 2

I had this error today, for me it was that I had a syntax-level error in my .ts files, so they couldn't really compile.

In above situation, I think, the tests should not start (and instead show compile error).

But for whatever reason, somehow the tests start, and Jasmine fails with "No specs found" log.

Solution 3

In my case I saw some errors in terminal when I run ng test but when browser open it shown no specs found.

ERROR IN PROJECT

enter image description here

this was the error. After fixed the above error it showed all the specs with the result of executed test cases

Share:
18,296
lionthefox
Author by

lionthefox

C#: WPF, ASP.NET Kotlin: Android Typescript: Angular

Updated on June 07, 2022

Comments

  • lionthefox
    lionthefox almost 2 years

    For some reason I can't understand, Karma says that Jasmine can't find any of my test specs. I'm using Angular 9, Typescript and ng test to run the tests. I also ran jasmine init to create the jasmine.json config file. I've tried several config changes, creating a dummy test javascript file and more but I'm still getting the same "No specs found" message. This is getting really frustrating and I'm sure I'm just overlooking something obvious here.

    Tests folder structure:

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

    jasmine.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,
        });
    };
    
  • Armando Guarino
    Armando Guarino about 2 years
    Same here, basically the tests only run after those errors have been fixed