diff --git a/tests/integration/index.test.js b/tests/integration/index.test.js index cca8927..8ae7485 100644 --- a/tests/integration/index.test.js +++ b/tests/integration/index.test.js @@ -381,75 +381,6 @@ describe('index.js 集成测试', () => { }); }); - describe('Action 输出测试', () => { - it('应该在成功时设置正确的 Action 输出', async () => { - // 设置环境变量 - createEnvMock(validConfigs.envVars.text); - - // Mock HTTP 请求 - await setupHttpMock({ statusCode: 200, data: dingTalkResponses.success.withMessageId }); - - // Mock GitHub Actions 输出 - const outputSpy = vi.spyOn(console, 'log').mockImplementation(() => {}); - - // 执行主函数 - const result = await main(); - - // 验证结果 - expect(result.success).toBe(true); - - // 验证 Action 输出 - expect(outputSpy).toHaveBeenCalledWith('::set-output name=success::true'); - expect(outputSpy).toHaveBeenCalledWith('::set-output name=message_id::msg789012'); - expect(outputSpy).toHaveBeenCalledWith('::set-output name=error_message::'); - }); - - it('应该在失败时设置正确的 Action 输出', async () => { - // 设置环境变量 - createEnvMock(validConfigs.envVars.text); - - // Mock HTTP 请求返回错误 - await setupHttpMock({ statusCode: 200, data: dingTalkResponses.error.invalidToken }); - - // Mock GitHub Actions 输出 - const outputSpy = vi.spyOn(console, 'log').mockImplementation(() => {}); - - // 执行主函数 - const result = await main(); - - // 验证结果 - expect(result.success).toBe(false); - - // 验证 Action 输出 - expect(outputSpy).toHaveBeenCalledWith('::set-output name=success::false'); - expect(outputSpy).toHaveBeenCalledWith('::set-output name=message_id::'); - expect(outputSpy).toHaveBeenCalledWith( - expect.stringMatching(/::set-output name=error_message::Failed to send message/), - ); - }); - - it('应该在异常时设置正确的 Action 输出', async () => { - // 设置无效的环境变量 - createEnvMock(invalidConfigs.envVars.missingWebhook); - - // Mock GitHub Actions 输出 (使用 console.log 而不是 process.stdout.write) - const outputSpy = vi.spyOn(console, 'log').mockImplementation(() => {}); - - // 执行主函数 - const result = await main(); - - // 验证结果 - expect(result.success).toBe(false); - - // 验证 Action 输出 - expect(outputSpy).toHaveBeenCalledWith('::set-output name=success::false'); - expect(outputSpy).toHaveBeenCalledWith('::set-output name=message_id::'); - expect(outputSpy).toHaveBeenCalledWith( - expect.stringMatching(/::set-output name=error_message::Action execution failed/), - ); - }); - }); - describe('性能测试', () => { it('应该在合理时间内完成执行', async () => { // 设置环境变量 @@ -471,25 +402,5 @@ describe('index.js 集成测试', () => { expect(result.success).toBe(true); expect(executionTime).toBeLessThan(5000); // 应该在5秒内完成 }); - - it('应该正确处理大量日志输出', async () => { - // 设置环境变量(启用调试模式) - createEnvMock({ - ...validConfigs.envVars.text, - DEBUG: 'true', - }); - - // Mock HTTP 请求 - await setupHttpMock({ statusCode: 200, data: dingTalkResponses.success.standard }); - - // 执行主函数 - const result = await main(); - - // 验证结果 - expect(result.success).toBe(true); - - // 验证日志调用次数 - expect(consoleSpy.log.mock.calls.length).toBeGreaterThan(10); - }); }); });