UNPKG

@reportfy/tester

Version:

Lib para teste de integração usando serviço do reportfy

291 lines (193 loc) 5.66 kB
# @reportfy/tester [![npm version](https://img.shields.io/npm/v/@reportfy/apm.svg?style=flat-square)](https://www.npmjs.org/package/@reportfy/tester) [![install size](https://packagephobia.now.sh/badge?p=@reportfy/tester)](https://packagephobia.now.sh/result?p=@reportfy/tester) [![npm downloads](https://img.shields.io/npm/dm/@reportfy/tester.svg?style=flat-square)](http://npm-stat.com/charts.html?package=@reportfy/tester) ![reportfy](https://raw.githubusercontent.com/reportfy/tester/main/images/reportfy.svg) 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 ```