@reportfy/tester
Version:
Lib para teste de integração usando serviço do reportfy
291 lines (193 loc) • 5.66 kB
Markdown
# @reportfy/tester
[](https://www.npmjs.org/package/@reportfy/tester)
[](https://packagephobia.now.sh/result?p=@reportfy/tester)
[](http://npm-stat.com/charts.html?package=@reportfy/tester)

Tester de integração para clientes que utilizam node.js.
> Sobre reportfy: [clique aqui](https://reportfy.com.br/)
## Sobre a tester.
- [Instalação](#instalação)
- [Configuração](#configuração)
- [Framework nodejs](#Clientes)
- [Koa](#Koa)
- [Express](#Express)
- [HapiJS](#HapiJS)
- [Restify](#Restify)
## instalação
Usando npm:
```bash
$ npm install @reportfy/tester
```
Usando yarn:
```bash
$ yarn add @reportfy/tester
```
## Configuração
Para configuração é necessário acessar o [sistema da reporfy](https://app.reportfy.com.br) 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](https://koajs.com/)
- [Express](https://expressjs.com/pt-br/)
- [HapiJS](https://hapi.dev/)
- [Restify](http://restify.com/)
## Clientes
Configurações de frameworks são diferenciadas para cada um, segue abaixo configuração simples de cada framework com as suas particularidades.
### Koa
Exemplo base para criação de uma api no framework koa.
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
```
### Express
Exemplo base para criação de uma api no framework express.
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
```
### HapiJS
Exemplo base para criação de uma api no framework HapiJS.
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
```
### Restify
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
```