El proyecto fue lanzado para ejecutar pruebas de aceptación.

Hola a todos, hoy tengo una buena noticia: ya está disponible una versión beta de at2k , un proyecto para administrar y ejecutar pruebas de aceptación para servicios web. Echemos un vistazo a sus principales características, que también puedes consultar aquí .



Introducción



AT2K es un proyecto de código abierto escrito en Golang (para el lenguaje de backend) y Angular (para el lado del cliente). La idea principal y el objetivo es permitir que los usuarios (programadores, ingenieros de control de calidad y posiblemente administradores) escriban y ejecuten pruebas en un idioma cercano a su área temática.



Un par de ejemplos



Antes de comenzar a ver la interfaz de usuario y las diversas opciones para personalizar las pruebas, permítame mostrarle un ejemplo de un servicio que se supone que debe probarse y probarse directamente.



Entonces, la implementación del servicio (node.js):



import express from 'express';
import uuid4 from 'uuid4';

const app = express();
const users = express.Router();
const port = process.env.PORT || 4444;
let usersRepository = [];

app.use(express.json());
app.use('/api/v1/user', users);

function resetRepository() {
  usersRepository = [
    {hash: uuid4(), name: 'John'},
    {hash: uuid4(), name: 'Nick'}
  ];
}

users.get('/:hash', (req, res) => {
  const user = usersRepository.find(u => u.hash === req.params.hash);

  if (user) {
    res.status(200).send({
      status: 'ok',
      data: user
    });
  } else {
    res.status(200).send({
      status: 'error',
      data: 'user-not-found'
    });
  }
});

users.post('/', (req, res) => {
  const { name } = req.body;
  const hash = uuid4();

  usersRepository.push({
    hash, name
  });
  res.status(200).send({status: 'ok', hash});
});

app.listen(port, () => {
  resetRepository();
  console.log(`Stub AT2K is available on localhost:${port}`);
});


Sin más preámbulos, aquí hay un par de pruebas:



BEGIN
    createUserResponse = CREATE USER {"name": "Joe"}

    ASSERT createUserResponse.status EQUALS ok

    userResponse = GET USER ${createUserResponse.hash}

    ASSERT userResponse.status EQUALS ok
    ASSERT userResponse.data.name EQUALS Joe
    ASSERT userResponse.data.hash EQUALS ${createUserResponse.hash}
END

BEGIN
    userResponse = GET USER not-exists-hash

    ASSERT userResponse.status EQUALS error
    ASSERT userResponse.data EQUALS user-not-found
END


Como puede ver, todo es bastante simple.



Dónde empezar



Para comenzar, debemos crear una cuenta siguiendo el enlace e ingresando el nombre de usuario y la contraseña que queremos usar.



.



, ,

- ( ):



imagen



, ,

, :



BEGIN
  createUserResponse = CREATE USER {"name": "Joe"}
END




  • createUserResponse – ,

  • CREATE –
  • USER – ,
  • {"name": "Joe"} –


, -



  1. ,




, . Create object :



imagen



. USER.



, Create, :



imagen



, 2 – GET CREATE. GET. (. ) :



imagen



Add command , :



imagen



Create ( , .. ).



CREATE:



imagen



, :



imagen



imagen



.



-



-. , ngrok.



node.js:



mkdir at2k-stub && cd at2k-stub
npm init -y
npm i express uuid4
touch index.js


index.js



node .


ngrok, - :



ngrok http 4444


http://56dd9be41097.ngrok.io



, , , . , General settings Base URLs. Base URL http://56dd9be41097.ngrok.io Choose all:



imagen



Update .





, 1 – . (, get_create_tests.txt) . , Run tests, Tests file , . Run tests , , :



imagen



, .



?



, , (USER), , .





Cualquier sugerencia para mejorar el proyecto es bienvenida. Estoy aquí para recibir comentarios.



Si alguien decide estudiar el código en el repositorio y sugerir mejoras o comentarios, también estaré contento (mejor en el carrito - @ilyaWD).




All Articles