Proyek ini dirilis untuk menjalankan tes penerimaan

Halo semuanya, hari ini saya punya kabar baik: versi beta dari at2k , sebuah proyek untuk mengelola dan menjalankan tes penerimaan untuk layanan web, telah keluar. Mari kita lihat fitur utamanya, yang juga dapat Anda periksa di sini .



pengantar



AT2K adalah proyek open source yang ditulis dalam Golang (untuk bahasa backend) dan Angular (untuk sisi klien). Ide dan tujuan utama adalah untuk memungkinkan pengguna (pemrogram, insinyur QA, dan mungkin manajer) untuk menulis dan menjalankan tes dalam bahasa yang dekat dengan bidang subjek mereka.



Beberapa contoh



Sebelum kita mulai melihat UI dan berbagai kemungkinan untuk menyesuaikan tes, izinkan saya menunjukkan kepada Anda contoh layanan yang seharusnya diuji dan langsung diuji.



Jadi, implementasi layanan (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}`);
});


Tanpa basa-basi lagi, berikut beberapa tes:



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


Seperti yang Anda lihat, semuanya sangat sederhana.



Mulai dari mana



Untuk memulai, kita perlu membuat akun dengan mengikuti tautan dan memasukkan nama pengguna dan kata sandi yang ingin kita gunakan.



.



, ,

- ( ):



gambar



, ,

, :



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




  • createUserResponse – ,

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


, -



  1. ,




, . Create object :



gambar



. USER.



, Create, :



gambar



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



gambar



Add command , :



gambar



Create ( , .. ).



CREATE:



gambar



, :



gambar



gambar



.



-



-. , 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:



gambar



Update .





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



gambar



, .



?



, , (USER), , .





Setiap saran untuk meningkatkan proyek sangat dihargai - Saya di sini untuk mendapatkan umpan balik.



Jika seseorang memutuskan untuk mempelajari kode di repositori dan menyarankan perbaikan atau komentar, saya juga akan senang (lebih baik di keranjang - @ilyaWD).




All Articles