Getting started testing Adonis apps
We'll cover the following
Getting started testing Adonis apps
@adonisjs/vow
, the standard library built for the framework uses chai under the hood for assertions. We will mainly be testing using assertions. Get started by installing vow
adonis install @adonisjs/vow
The installation adds three files to your project. Add the configuration to the aceProviders array of app.js
const aceProviders = [
// ...other providers
'@adonisjs/vow/providers/VowProvider'
]
You can see how testing works by testing example.spec.js
adonis test
Output
Example
✓ make sure 2 + 2 is 4 (2ms)
PASSED
total : 1
passed : 1
time : 6ms
Pre-testing checklist: Suites and Traits
Below is the content of the example test file.
'use strict'
const { test } = use('Test/Suite')('Example')
test('make sure 2 + 2 is 4', async ({ assert }) => {
assert.equal(2 + 2, 4)
})
Notice that we are destructuring the test function from Test/Suite
. Since we are testing APIs, we need a JS version of Postman. This is provided by Test/ApiClient
, a trait. Traits were implemented to keep the test runner lean, so any desired functionality is required when needed.
Basically, we obtain trait from Suite and require the Test/ApiClient
trait. Since some of our routes require authentication, we also require the Auth/Client
trait.
const { test, trait } = use("Test/Suite")("Example");
trait("Test/ApiClient");
trait("Auth/Client");
To understand more about Suites and Traits, I suggest you read the docs. The Adonis team did a job explaining Suites and Traits.
Create a free account to view this lesson.
By signing up, you agree to Educative's Terms of Service and Privacy Policy