Skip to content

Latest commit

 

History

History
55 lines (33 loc) · 1.8 KB

unit-testing.md

File metadata and controls

55 lines (33 loc) · 1.8 KB

Unit Testing

You are reading the documentation for version 2 of FoalTS. Instructions for upgrading to this version are available here. The old documentation can be found here.

Convention

Every unit test file should be placed next to the file it tests with the same name and the .spec.ts extension. If this extension is not present then the file won't be executed when running the test commands.

Example:

'- services
  |- my-service.service.ts
  '- my-service.service.spec.ts

Build and Run Unit Tests

Watch mode (for development)

npm run test

This command builds and executes the unit tests. If you modify a file and save it, the code is rebuilt and the tests are run again. This is particularly useful in development: you do not need to re-run the command every time you make code changes.

The process runs forever until you stop it.

Simple mode (for CI and Git hooks)

If you need to build and run the tests only once, you can use these two commands:

npm run build:test # Build the unit tests code (compile the typescript files and copy the templates)
npm run start:test # Execute the unit tests from the built files

These commands are particularly useful when you want to integrate your tests into a CI pipeline or a Git hook.

Testing Controllers

See Controllers.

Testing Services

See Services & Dependency Injection.

Testing Hooks

See Hooks.

Dependency Injection & Unit Testing

FoalTS uses dependency injection to keep the code loosely coupled and so enhance testatibility.

See Services & Dependency Injection.