stryker-js: Since upgrading to Stryker version 1.3 it can't find any tests to run

Summary

I upgraded the following from version 1.2 to 1.3

@stryker-mutator/core
@stryker-mutator/javascript-mutator
@stryker-mutator/mocha-framework
@stryker-mutator/mocha-runner

and now running npx stryker run reports “No tests were executed. Stryker will exit prematurely. Please check your configuration.”

Stryker config

module.exports = function(config) {
  config.set({
    mutate: [
      'src/**/*.js',
      '!src/defaults.js',
      '!src/errors.js',
      '!src/index.js'
    ],
    mutator: 'javascript',
    packageManager: 'npm',
    reporters: ['clear-text', 'progress'],
    testRunner: 'mocha',
    mochaOptions: {
      files: ['test/unit/**/*.test.js'],
      require: ['test/unit/testHelper.js']
    },
    transpilers: [],
    testFramework: 'mocha',
    coverageAnalysis: 'perTest',
    thresholds: { high: 80, low: 70, break: null }
  })
}

Stryker environment

├─┬ @stryker-mutator/core@1.3.0
│ ├─┬ @stryker-mutator/api@1.3.0
│ ├── @stryker-mutator/util@1.3.0
├─┬ @stryker-mutator/javascript-mutator@1.3.0
│ ├── @stryker-mutator/api@1.3.0 deduped
├─┬ @stryker-mutator/mocha-framework@1.3.0
│ └── @stryker-mutator/api@1.3.0 deduped
├─┬ @stryker-mutator/mocha-runner@1.3.0
│ ├── @stryker-mutator/api@1.3.0 deduped
mocha@6.1.4

Test runner environment

    "test:unit": "find ./test/unit -name '*.test.js' | NODE_ENV=test xargs mocha --require ./test/unit/testHelper.js",
    "test:mutants": "NODE_ENV=test NODE_PATH=. npx stryker run"

Your Environment

software version(s)
node 11.14.0
npm 6.9.0
Operating System macOS 10.14.4

Add stryker.log

11:22:36 (5300) INFO ConfigReader Using stryker.conf.js in the current working directory.
11:22:36 (5300) DEBUG ConfigReader Loading config stryker.conf.js
11:22:36 (5300) DEBUG PluginLoader Loading @stryker-mutator/* from /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator
11:22:36 (5300) DEBUG PluginLoader Loading plugin "/Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/javascript-mutator" (matched with expression @stryker-mutator/*)
11:22:36 (5300) DEBUG PluginLoader Loading plugin "/Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-framework" (matched with expression @stryker-mutator/*)
11:22:36 (5300) DEBUG PluginLoader Loading plugin "/Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-runner" (matched with expression @stryker-mutator/*)
11:22:36 (5300) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/javascript-mutator
11:22:36 (5300) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-framework
11:22:36 (5300) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-runner
11:22:37 (5300) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/core/src/reporters/index.js
11:22:37 (5300) DEBUG MochaOptionsLoader Mocha >= 6 detected. Using mocha's `loadOptions` to load mocha options
11:22:37 (5300) DEBUG MochaOptionsLoader Loaded options: {
  "require": [
    "test/unit/testHelper.js"
  ],
  "extension": [
    "js"
  ],
  "timeout": 2000,
  "ui": "bdd"
}
11:22:37 (5300) DEBUG BroadcastReporter Broadcasting to reporters ["clear-text","progress"]
11:22:37 (5300) INFO InputFileResolver Found 3 of 29 file(s) to be mutated.
11:22:37 (5300) DEBUG InputFileResolver All input files: [
  "/Users/davesag/src/personal/amqp-delegate/.circleci/config.yml",
  "/Users/davesag/src/personal/amqp-delegate/.editorconfig",
  "/Users/davesag/src/personal/amqp-delegate/.eslintrc.js",
  "/Users/davesag/src/personal/amqp-delegate/.gitignore",
  "/Users/davesag/src/personal/amqp-delegate/.prettierignore",
  "/Users/davesag/src/personal/amqp-delegate/CONTRIBUTING.md",
  "/Users/davesag/src/personal/amqp-delegate/LICENSE",
  "/Users/davesag/src/personal/amqp-delegate/README.md",
  "/Users/davesag/src/personal/amqp-delegate/config.yml",
  "/Users/davesag/src/personal/amqp-delegate/docker-compose.yml",
  "/Users/davesag/src/personal/amqp-delegate/package-lock.json",
  "/Users/davesag/src/personal/amqp-delegate/package.json",
  "/Users/davesag/src/personal/amqp-delegate/src/attachEvents.js",
  "/Users/davesag/src/personal/amqp-delegate/src/defaults.js",
  "/Users/davesag/src/personal/amqp-delegate/src/errors.js",
  "/Users/davesag/src/personal/amqp-delegate/src/index.js",
  "/Users/davesag/src/personal/amqp-delegate/src/makeDelegator.js",
  "/Users/davesag/src/personal/amqp-delegate/src/makeWorker.js",
  "/Users/davesag/src/personal/amqp-delegate/stryker.conf.js",
  "/Users/davesag/src/personal/amqp-delegate/test/.eslintrc.js",
  "/Users/davesag/src/personal/amqp-delegate/test/integration/delegateAsyncTask.test.js",
  "/Users/davesag/src/personal/amqp-delegate/test/integration/delegateManyTasks.test.js",
  "/Users/davesag/src/personal/amqp-delegate/test/integration/delegateTask.test.js",
  "/Users/davesag/src/personal/amqp-delegate/test/integration/testHelper.js",
  "/Users/davesag/src/personal/amqp-delegate/test/unit/attachEvents.test.js",
  "/Users/davesag/src/personal/amqp-delegate/test/unit/fakes.js",
  "/Users/davesag/src/personal/amqp-delegate/test/unit/makeDelegator.test.js",
  "/Users/davesag/src/personal/amqp-delegate/test/unit/makeWorker.test.js",
  "/Users/davesag/src/personal/amqp-delegate/test/unit/testHelper.js"
]
11:22:37 (5300) DEBUG InputFileResolver Files to mutate: [
  "/Users/davesag/src/personal/amqp-delegate/src/attachEvents.js",
  "/Users/davesag/src/personal/amqp-delegate/src/makeDelegator.js",
  "/Users/davesag/src/personal/amqp-delegate/src/makeWorker.js"
]
11:22:37 (5300) DEBUG TestFrameworkOrchestrator Using testFramework mocha based on `testFramework` setting
11:22:37 (5300) INFO InitialTestExecutor Starting initial test run. This may take a while.
11:22:37 (5300) DEBUG Sandbox Creating a sandbox for files in /Users/davesag/src/personal/amqp-delegate/.stryker-tmp/sandbox7133032
11:22:37 (5300) DEBUG Sandbox Creating test runner 0
11:22:37 (5300) DEBUG ChildProcessProxy Starting /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/core/src/test-runner/ChildProcessTestRunnerWorker.js in child process 5304
11:22:37 (5300) DEBUG InitialTestExecutor Adding test hooks for coverageAnalysis "perTest".
11:22:37 (5300) DEBUG TimeoutDecorator Starting timeout timer (300000 ms) for a test run
11:22:37 (5304) DEBUG ChildProcessProxyWorker Changing current working directory for this process to /Users/davesag/src/personal/amqp-delegate/.stryker-tmp/sandbox7133032
11:22:37 (5304) DEBUG PluginLoader Loading @stryker-mutator/* from /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator
11:22:37 (5304) DEBUG PluginLoader Loading plugin "/Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/javascript-mutator" (matched with expression @stryker-mutator/*)
11:22:37 (5304) DEBUG PluginLoader Loading plugin "/Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-framework" (matched with expression @stryker-mutator/*)
11:22:37 (5304) DEBUG PluginLoader Loading plugin "/Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-runner" (matched with expression @stryker-mutator/*)
11:22:37 (5304) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/javascript-mutator
11:22:37 (5304) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-framework
11:22:37 (5304) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/mocha-runner
11:22:37 (5304) DEBUG PluginLoader Loading plugins /Users/davesag/src/personal/amqp-delegate/node_modules/@stryker-mutator/core/src/reporters/index.js
11:22:37 (5304) DEBUG MochaTestRunner Mocha >= 6 detected. Using mocha's `handleFiles` to load files
11:22:37 (5304) DEBUG MochaTestRunner Starting Mocha test run
11:22:37 (5304) DEBUG MochaTestRunner Mocha test run completed: 0/0 passed
11:22:37 (5300) DEBUG ChildProcessProxy Disposing of worker process 5304
11:22:37 (5300) DEBUG ChildProcessProxy Kill 5304
11:22:37 (5300) WARN InitialTestExecutor No tests were executed. Stryker will exit prematurely. Please check your configuration.
11:22:37 (5300) INFO MutatorFacade 72 Mutant(s) generated

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 1
  • Comments: 17 (6 by maintainers)

Most upvoted comments

@davesag it has to do with the fix introduced in https://github.com/stryker-mutator/stryker/pull/1520. As a workaround, you can explicitly set maxConcurrentTestRunners: 2 in your stryker.conf.js file. I’ll be working on a fix.

@MHeironimus your issue should be fixed by renaming files to spec. Since v1.3 we’re actively supporting mocha 6, which uses spec. Before that, we didn’t support mocha 6, although it did work by chance.

@davesag thanks for reporting this issue. I’ve found your project here: https://github.com/davesag/amqp-delegate, so I’ll take a look later. Seems that the new mocha 6 file discovery is not working correctly