Lib para teste de integração usando serviço do reportfy
npm install @reportfy/tester
Tester de integração para clientes que utilizam node.js.
> Sobre reportfy: clique aqui
Usando npm:
``bash`
$ npm install @reportfy/tester
Usando yarn:
`bash`
$ yarn add @reportfy/tester
Para configuração é necessário acessar o sistema da reporfy e
criar seus casos de teste, com isso terá o token para integração do sdk.
Após a instalação do sdk no `package.json` será criado um script de inicialização no projeto.
`json
{
"name": "test",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"tester": "npx reportfy -k sua_chave_aqui' -ac 'access_key', -se 'secret_key' -s index.js -t express"
},
"dependencies": {
"@reportfy/tester": "^1.1.5",
"express": "^4.17.1"
}
}
`
O campo `-k` é obrigatório, serve para obter seus planos de teste na aplicação e que os relatórios sejam enviados para reportfy.
O campo `-s` é obrigatório, serve para obter a aplicação inicial e executá-la para iniciar os testes localmente.
O campo `-ac` é obrigatório, chave secreta para leitura de dados que contém criptografia da sua área de trabalho(workspace).
O campo `-se` é obrigatório, chave secreta para leitura de dados que contém criptografia da sua área de trabalho(workspace).
Os frameworks que estão disponíveis para rodar localmente são:
- Koa
- Express
- HapiJS
- Restify
Configurações de frameworks são diferenciadas para cada um, segue abaixo configuração simples de cada framework com as suas particularidades.
Iniciando o projeto.
`sh`
$ npm init
Instalando dependências
Com npm.
`sh`
$ npm install koa koa-body koa-router @reportfy/tester --save
Com yarn.
`sh`
$ yarn add koa koa-body koa-router @reportfy/tester
Arquivo `index.js` para inicializar o projeto.
`js
const Koa = require('koa');
const koaBody = require('koa-body');
const app = new Koa();
const Router = require('koa-router');
app.use(koaBody());
// Prefix all routes with: /books
const router = new Router({
prefix: '/api'
});
router.get('/user', (ctx, next) => {
ctx.body = {name: 'hello world'}
next();
});
// Use the Router on the sub route /books
app.use(router.routes());
app.listen(3000);
module.exports = app
`
Executando os testes.
`sh`
$ npx reportfy -k sua_chave_aqui' -ac 'access_key', -se 'secret_key' -s index.js -k koa
Iniciando o projeto.
`sh`
$ npm init
Instalando dependências
Com npm.
`sh`
$ npm install express @reportfy/tester --save
Com yarn.
`sh`
$ yarn add express @reportfy/tester
Arquivo `index.js` para inicializar o projeto.
`js
const express = require('express')
const app = express()
app.use(express.json({}))
app.post('/api/user', (req, res) => {
res.status(200).json(req.body)
})
app.get('/api/user/:name', (req, res) => {
res.status(200).json()
})
app.listen(3000, () => console.log('listening http://localhost:3000'))
module.exports = app
`
Executando os testes.
`sh`
$ npx reportfy -k sua_chave_aqui' -ac 'access_key', -se 'secret_key' -s index.js -k express
Iniciando o projeto.
`sh`
$ npm init
Instalando dependências
Com npm.
`sh`
$ npm install @hapi/hapi @reportfy/tester --save
Com yarn.
`sh`
$ yarn add @hapi/hapi @reportfy/tester
Arquivo `index.js` para inicializar o projeto.
`js
const Hapi = require('@hapi/hapi')
const server = Hapi.server({
port: 3000,
host: 'localhost'
});
server.route({
method: 'POST',
path: '/api/user',
handler: (request, reply) => {
return request.payload
}
});
server.start();
module.exports = server
`
Executando os testes.
`sh`
$ npx reportfy -k sua_chave_aqui' -ac 'access_key', -se 'secret_key' -s index.js -k hapijs
Exemplo base para criação de uma api no framework restify.
Iniciando o projeto.
`sh`
$ npm init
Instalando dependências
Com npm.
`sh`
$ npm install restify @reportfy/tester --save
Com yarn.
`sh`
$ yarn add restify @reportfy/tester
Arquivo `index.js` para inicializar o projeto.
`js
const restify = require('restify');
const server = restify.createServer();
server.get('/api/user', (req, res) => {
return res.send()
});
server.post('/api/user', (req, res) => {
return res.send()
});
module.exports = server;
`
Executando os testes.
`sh``
$ npx reportfy -k sua_chave_aqui' -ac 'access_key', -se 'secret_key' -s index.js -k restify