Example of using codecept.js with typescript.
It was created to be example for users, who has problems with codecept + TS settings.
Used packages:
- codeceptjs ^2.1.5
- typescript ^3.4.5
- ts-lint ^5.16.0
- ts-node ^8.1.0
Project runs with yarn
- it resolves pathes to packages.
If you use npm
, then scripts in package.json
should be edited, to include path to codeceptjs - ./node_modules/.bin/codeceptjs
instead of codeceptjs
. Or use npx
.
Project was tested on MacOS only. Some problems with paths may occur when run on Windows.
For correct ts-node
run environment variable TS_NODE_PROJECT
is used.
It could be set in CI, or with .env
package, for example.
In this repository this evironment variable is created in package.json's scripts section (test:e2e
and similar) by linux-shell-command-style definition:
TS_NODE_PROJECT='./src/specs/e2e/tsconfig.json' <some command>
Windows system does not support this style, it uses next command for environment variable setting:
set TS_NODE_PROJECT='./src/specs/e2e/tsconfig.json' codeceptjs run
So, the full script to run in Windows terminal is:
(set TS_NODE_PROJECT=./src/specs/e2e/tsconfig.json) && codeceptjs run
Such script is described in package.json
as test:e2e:windows
. The same for definitions generation - test:e2e:def:windows
.
More information about e2e testing framework on
Codecept JS site.
More information about Typescript, it's configuration and examples on Typescript site