Skip to content

Add support for tests written with ES modules #684

@alexsmaliy

Description

@alexsmaliy

Alsatian 3.2.1

Basic setup:

npm install --global alsatian@latest
mkdir ./dummy
cd ./dummy
npm init --yes
cat << EOF > example.spec.js
import { Expect, Test } from "alsatian";

export class ExampleTestFixture {

  @Test()
  public exampleTest() {
    Expect(1 + 1).toBe(2);
  }
}
EOF
alsatian ./example.spec.js

Error:

ERROR LOADING FILE: /home/alex/code/dummy/example.spec.js
/home/alex/code/dummy/example.spec.js:1
import { Expect, Test } from "alsatian";
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1063:16)
    at Module._compile (internal/modules/cjs/loader.js:1111:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1167:10)
    at Module.load (internal/modules/cjs/loader.js:996:32)
    at Function.Module._load (internal/modules/cjs/loader.js:896:14)
    at Module.require (internal/modules/cjs/loader.js:1036:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at FileRequirer.require (/home/alex/.nvm/versions/node/v13.12.0/lib/node_modules/alsatian/dist/core/file-requirer.js:5:16)
    at TestLoader.loadTestFixture (/home/alex/.nvm/versions/node/v13.12.0/lib/node_modules/alsatian/dist/core/test-loader.js:11:58)
    at /home/alex/.nvm/versions/node/v13.12.0/lib/node_modules/alsatian/dist/core/test-set.js:46:80

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions