مرحبًا بالجميع ، لدي اليوم أخبار سارة : الإصدار التجريبي من AT2k ، وهو مشروع لإدارة وتشغيل اختبارات القبول لخدمات الويب ، قد انتهى . دعنا نلقي نظرة على ميزاته الرئيسية ، والتي يمكنك أيضًا التحقق منها هنا .
المقدمة
AT2K هو مشروع مفتوح المصدر مكتوب بلغة Golang (للغة الخلفية) و Angular (من جانب العميل). الفكرة الرئيسية والهدف هو السماح للمستخدمين (المبرمجين ، ومهندسي ضمان الجودة ، وربما المديرين) لكتابة الاختبارات وتشغيلها بلغة قريبة من مجال تخصصهم.
زوجان من الأمثلة
قبل أن نبدأ في النظر إلى واجهة المستخدم والخيارات المختلفة لتخصيص الاختبارات ، دعني أعرض لك مثالاً على خدمة من المفترض أن يتم اختبارها واختبارها مباشرةً.
إذن ، تنفيذ الخدمة (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}`);
});
بدون مزيد من اللغط ، إليك بعض الاختبارات:
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
كما ترى ، كل شيء بسيط جدًا.
من أين نبدأ
للبدء ، نحتاج إلى إنشاء حساب باتباع الرابط وإدخال اسم المستخدم وكلمة المرور اللذين نريد استخدامهما.
.
, ,
- ( ):

, ,
, :
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), , .
أقدر أي اقتراحات لتحسين المشروع - أنا هنا للحصول على تعليقات.
إذا قرر شخص ما دراسة الكود في المستودع واقترح تحسينات أو تعليقات ، فسأكون سعيدًا أيضًا (أفضل في سلة التسوق -ilyaWD).