🧪 test(测试用例):新增
This commit is contained in:
174
game-server/test/qps.test.ts
Normal file
174
game-server/test/qps.test.ts
Normal file
@@ -0,0 +1,174 @@
|
||||
// import { Client } from './Client';
|
||||
// import 'mocha';
|
||||
// import { PinusWSClient } from 'pinus-robot-plugin';
|
||||
// import async from 'async';
|
||||
|
||||
// describe('共鸣', function () {
|
||||
// let pinusClient: PinusWSClient;
|
||||
// let roleInfo;
|
||||
|
||||
// before(function (done) {
|
||||
// const c = new Client();
|
||||
// const timer = setInterval(() => {
|
||||
// if (c.client) {
|
||||
// pinusClient = c.client;
|
||||
// roleInfo = c.roleInfo;
|
||||
// clearInterval(timer);
|
||||
// done();
|
||||
// }
|
||||
// }, 500);
|
||||
// });
|
||||
|
||||
// after(function (done) {
|
||||
// pinusClient.disconnect();
|
||||
// // disconnect 后等待 500ms,供服务器清理环境、退出频道等
|
||||
// setTimeout(() => {
|
||||
// done();
|
||||
// }, 500);
|
||||
// });
|
||||
|
||||
// it('', function (done) {
|
||||
// const NUM_CONCURRENT_REQUESTS = 10; // 设置并发请求数
|
||||
// let totalRequests = 0; //总共请求数量
|
||||
// let successfulRequests = 0; //成功数据
|
||||
|
||||
// function makeRequest(callback) {
|
||||
// pinusClient.request('role.resonanceHandler.getData', {}, (result) => {
|
||||
// totalRequests++;
|
||||
// if (result && result.code == 0) {
|
||||
// successfulRequests++;
|
||||
// }
|
||||
// callback();
|
||||
// });
|
||||
// }
|
||||
|
||||
// async.times(NUM_CONCURRENT_REQUESTS, (n, next) => {
|
||||
// makeRequest(next);
|
||||
// }, (err) => {
|
||||
// if (err) {
|
||||
// console.error('Error in making requests:', err);
|
||||
// } else {
|
||||
// console.log('Test completed.');
|
||||
// console.log('Total requests:', totalRequests);
|
||||
// console.log('Successful requests:', successfulRequests);
|
||||
// console.log('QPS:', totalRequests);
|
||||
// }
|
||||
|
||||
// // Cleanup and disconnect
|
||||
// // pinusClient.disconnect();
|
||||
// });
|
||||
// // done();
|
||||
// })
|
||||
// });
|
||||
|
||||
import { Client } from './Client';
|
||||
import 'mocha';
|
||||
import { PinusWSClient } from 'pinus-robot-plugin';
|
||||
import async from 'async';
|
||||
|
||||
describe('共鸣', function () {
|
||||
let pinusClient: PinusWSClient;
|
||||
let roleInfo;
|
||||
|
||||
before(function (done) {
|
||||
const c = new Client();
|
||||
const timer = setInterval(() => {
|
||||
if (c.client) {
|
||||
pinusClient = c.client;
|
||||
roleInfo = c.roleInfo;
|
||||
clearInterval(timer);
|
||||
done();
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
|
||||
after(function (done) {
|
||||
pinusClient.disconnect();
|
||||
// disconnect 后等待 500ms,供服务器清理环境、退出频道等
|
||||
setTimeout(() => {
|
||||
done();
|
||||
}, 500);
|
||||
});
|
||||
|
||||
// 在测试开始前记录开始时间
|
||||
const startTime = Date.now();
|
||||
|
||||
// it('', function (done) {
|
||||
// const NUM_CONCURRENT_REQUESTS = 7;
|
||||
// let totalRequests = 0;
|
||||
// let successfulRequests = 0;
|
||||
|
||||
// function makeRequest(callback, requestNumber) {
|
||||
// const timerName = `RequestTime_${requestNumber}`;
|
||||
// console.time(timerName); // 开始计时
|
||||
// pinusClient.request('role.resonanceHandler.getData', {}, (result) => {
|
||||
// console.timeEnd(timerName); // 结束计时并输出耗时
|
||||
// totalRequests++;
|
||||
// if (result && result.code == 0) {
|
||||
// successfulRequests++;
|
||||
// }
|
||||
// callback();
|
||||
// });
|
||||
// }
|
||||
|
||||
// async.times(NUM_CONCURRENT_REQUESTS, (n, next) => {
|
||||
// makeRequest(() => {
|
||||
// next();
|
||||
// }, n);
|
||||
// }, (err) => {
|
||||
// if (err) {
|
||||
// console.error('Error in making requests:', err);
|
||||
// } else {
|
||||
// // 在测试结束后记录结束时间
|
||||
// const endTime = Date.now();
|
||||
// const testDuration = (endTime - startTime- 500) / 1000; // 将毫秒转换为秒
|
||||
// console.log('testDuration', endTime - startTime)
|
||||
// const qps = totalRequests / testDuration;
|
||||
|
||||
// console.log('Test completed.');
|
||||
// console.log('Total requests:', totalRequests);
|
||||
// console.log('Successful requests:', successfulRequests);
|
||||
// console.log('QPS:', qps);
|
||||
// }
|
||||
// done();
|
||||
// });
|
||||
// });
|
||||
|
||||
|
||||
|
||||
// it('', function (done) {
|
||||
// const NUM_CONCURRENT_REQUESTS = 10;
|
||||
// const REQUEST_INTERVAL = 125; // 125毫秒的间隔
|
||||
// let totalRequests = 0;
|
||||
// let successfulRequests = 0;
|
||||
// let currentRequest = 0;
|
||||
|
||||
// function makeRequest(callback, requestNumber) {
|
||||
// const timerName = `RequestTime_${requestNumber}`;
|
||||
// console.time(timerName); // 开始计时
|
||||
// pinusClient.request('role.resonanceHandler.getData', {}, (result) => {
|
||||
// console.timeEnd(timerName); // 结束计时并输出耗时
|
||||
// totalRequests++;
|
||||
// if (result && result.code == 0) {
|
||||
// successfulRequests++;
|
||||
// }
|
||||
// callback();
|
||||
// });
|
||||
// }
|
||||
|
||||
// function sendNextRequest() {
|
||||
// if (currentRequest < NUM_CONCURRENT_REQUESTS) {
|
||||
// makeRequest(() => {
|
||||
// currentRequest++;
|
||||
// setTimeout(sendNextRequest, REQUEST_INTERVAL); // 添加间隔并继续下一个请求
|
||||
// if (currentRequest === NUM_CONCURRENT_REQUESTS) {
|
||||
// // 最后一个请求完成后调用 done()
|
||||
// done();
|
||||
// }
|
||||
// }, currentRequest);
|
||||
// }
|
||||
// }
|
||||
|
||||
// sendNextRequest(); // 开始第一个请求
|
||||
// });
|
||||
});
|
||||
Reference in New Issue
Block a user