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

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