Monday 1 May 2017

Running tests located in src/test/ts with mocha and ts-node?

I have source code and tests separated as follows:

`src/main/ts/hello.ts`  //SOURCE FILES HERE
`src/test/ts/hello.spec.ts` //SPEC FILES HERE

My tsconfig.json is setup such that the test files can import source modules without using relative paths like this:

    {
       "include": [
         "src/main/ts/**/*.ts"
       ],
       "exclude": [
         "node_modules"
       ],

       "compilerOptions": {
         "experimentalDecorators": true,
         "noImplicitAny": true,
         "moduleResolution": "node",
         "target": "es6",
         "baseUrl": ".",
         "paths": {
           "*": [
             "*", "src/main/ts/*"
           ]
         }
       }
     }

This way the hello.spec.ts file can import hello using the statement import hello from 'hello';

I'm trying to run the tests with npm test configured to run mocha and tsnode like this (Based on this article):

"scripts": {
  "test": "mocha -r ts-node/register src/test/ts"
},

However it does not look like ts-node is picking up on my tsconfig.json configuration as I get this error:

mocha -r ts-node/register src/test/ts

Error: Cannot find module 'hello'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)



via Ole

No comments:

Post a Comment