Olá a todos, hoje tenho uma boa notícia: saiu a versão beta do at2k , projeto de gerenciamento e execução de testes de aceitação de web services. Vamos dar uma olhada em seus principais recursos, que você também pode conferir aqui .
Introdução
AT2K é um projeto de código aberto escrito em Golang (para a linguagem de backend) e Angular (para o lado do cliente). A ideia e o objetivo principais são permitir que os usuários (programadores, engenheiros de controle de qualidade e possivelmente gerentes) escrevam e executem testes em uma linguagem próxima à sua área de assunto.
Alguns exemplos
Antes de começarmos a examinar a IU e as várias opções para personalizar testes, deixe-me mostrar um exemplo de serviço que deve ser testado e testado diretamente.
Portanto, a implementação do serviço (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}`);
});
Sem mais delongas, aqui estão alguns testes:
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 você pode ver, tudo é muito simples.
Por onde começar
Para começar, precisamos criar uma conta seguindo o link e inserindo o nome de usuário e a senha que desejamos usar.
.
, ,
- ( ):
, ,
, :
BEGIN
createUserResponse = CREATE USER {"name": "Joe"}
END
- createUserResponse – ,
- CREATE –
- USER – ,
- {"name": "Joe"} –
, -
- ,
, . Create object :
. USER.
, Create, :
, 2 – GET CREATE. GET. (. ) :
Add command , :
Create ( , .. ).
CREATE:
, :
.
-
-. , 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
, , , . , General settings Base URLs. Base URL http://56dd9be41097.ngrok.io Choose all:
Update .
, 1 – . (, get_create_tests.txt) . , Run tests, Tests file , . Run tests , , :
, .
?
, , (USER), , .
Quaisquer sugestões para melhorar o projeto são bem-vindas - estou aqui para obter feedback.
Se alguém decidir estudar o código no repositório e sugerir melhorias ou comentários, também ficarei feliz (melhor no carrinho - @ilyaWD).