# Unit test
Ts.ED support officially two unit test frameworks: Jest and Mocha. It's also possible to use your preferred frameworks. Your feedback are welcome
The process to test any components is the same thing:
- Create a new context for your unit test with
- Inject or invoke your component with
- Reset the context with
Here is an example to test the ParseService:
# Async / Await
Testing asynchronous method is also possible using
# Mock dependencies
PlatformTest API provides an
invoke method to create a new instance of your component with mocked dependencies.
PlatformTest.invoke() executes automatically the
# Test your Rest API
To test your API, I recommend you to use the
supertest (opens new window) module.
To install supertest just run these commands:
If you use the PlatformTest, you'll probably get an error when you'll run the unit test:
Platform type is not specified. Have you added at least `import @tsed/platform-express` (or equivalent) on your Server.ts ?
To solve it, just add the
import @tsed/platform-express on your
Server.ts. PlatformTest need this import to know on which Platform
your server must be executed for integration test.
# Testing session
To install session with Ts.ED see our tutorial.
- Session & cookies
- Serve static files
- Serverless HTTP
- Throw HTTP Exceptions
- Response Filter
- Injection scopes
- Custom providers
- Lazy-loading provider
- Custom endpoint decorator
- Customize 404