Писать нагрузочные тесты — это здорово.
Но запускать их автоматически при каждом пуше в main, с графиками, алертами и без рутины — вот это кайф! Сегодня покажу, как: У тебя должен быть базовый проект с тестами, например tests/load-test.js: import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 10,
duration: '30s',
};
export default function () {
const res = http.get('https://your-api.com/');
check(res, { 'status is 200': (r) => r.status === 200 });
sleep(1);
} 💡 Можно подключить CSV, JSON, Faker и всё, о чём мы писали раньше — это не мешает CI. Создай файл .github/workflows/load-test.yml: name: Run k6 Load Test
on:
push:
branches: [ main ]
workflow_dispatch:
jobs:
k6-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install k6
run: |
sudo apt update
sudo apt install -y gnupg software-properties-common
sudo apt-key