Samuel Jenks
Samuel Jenks

Reputation: 1172

mocha tests not found: "0 passing"

I dont know why the test runner wont detect my tests.

npm test

[email protected] test C:\Users\sjsui\Desktop\git_workshop\myproject
mocha ./built/source

  0 passing (4ms)

PS C:\Users\sjsui\Desktop\git_workshop\myproject>

I know that test is the default folder that mocha searches for so that is how I structured my project.

built
\--source
    \--test
        \--test.js

here is my test.js file

describe("consumer tests", function()
{
    it("runs bad request tests", (done) => {
        let tests = new badrequesttests()
        iteratebadtests(tests, done)

    })


    it("normal consumer tests", (done) => {
        let tests = new normaltests()
        iteratenormaltests(tests, done)
    })

    it("abnormal consumer tests", (done) => {
        let tests = new unauthorizedtests()
        iterateunauthorizedtests(tests, done)
    })
})

npm scripts section in package.json

  "scripts": {

      "test": "mocha ./built/source"

  },

as a side note, break points wont hit inside the test (visual studio code debug task -> mocha)

Upvotes: 0

Views: 4309

Answers (2)

codejockie
codejockie

Reputation: 10864

You can pass the directory to search for your test files like below:

mocha -- ./built/source/**/*.test.js

This will check for all test files ending with .test.js in their file name in any directory within the source directory.

mocha -- ./built/source/*.test.js

That will check for test files within the source directory.

Upvotes: 1

neeraj jain
neeraj jain

Reputation: 254

I think your test scripts are not detected y mocha because by default mocha does not scan sub-directories and your tests are inside a subdirectory of path you are passing at the time of invking mocha. There are two ways to resolve this.

  1. Provide the path of test folder to mocha as below

    mocha ./built/source/test
    
  2. Trigger mocha tests with recursive flag. Using this flag mocha will scan the subdirectories of the path you provide

    mocha ./built/source --recursive
    

I think this should solve your problem

Upvotes: 3

Related Questions