//测试随机选择功能 const weightedRandomSelection = require('./script'); // 假设你的函数在script.js中导出 describe('weightedRandomSelection', () => { test('should return a student from the list', () => { const students = [ { name: 'Alice', points: 1 }, { name: 'Bob', points: 2 }, { name: 'Charlie', points: 3 } ]; const selectedStudent = weightedRandomSelection(students); expect(students).toContainEqual(selectedStudent); }); test('should return a student with higher points more frequently', () => { const students = [ { name: 'Alice', points: 1 }, { name: 'Bob', points: 10 } ]; const results = { 'Alice': 0, 'Bob': 0 }; for (let i = 0; i < 1000; i++) { const selectedStudent = weightedRandomSelection(students); results[selectedStudent.name]++; } expect(results['Bob']).toBeGreaterThan(results['Alice']); }); }); //测试文件上传处理 const readExcel = require('./script'); // 假设你的函数在script.js中导出 describe('readExcel', () => { test('should parse Excel file and return student list', () => { const file = new Blob([/* Excel file data */], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); return readExcel(file).then(students => { expect(students).toEqual([ { name: 'Alice', points: 1 }, { name: 'Bob', points: 2 } ]); }); }); });