docs/archives/125-test-area-refactor/test-failures-backlog.md
在TestArea组件系统重构完成后的测试验证过程中,发现了一些与重构项目无关的历史遗留测试问题。这些问题不影响TestArea重构的质量和完成度,但需要在后续的维护工作中处理。
问题类别: 历史遗留组件测试问题
影响范围: 优化模式选择器组件
失败原因: 测试代码与实际组件实现不匹配
emits update:modelValue when user prompt button is clickedemits change event when optimization mode changesapplies correct styles for active system promptapplies correct styles for active user promptdoes not emit when clicking the already selected buttonhandles rapid clicks correctlyswitches between modes correctlyNRadioGroup 和 NRadioButton<button> 元素wrapper.findAll('button') 返回空数组,导致后续操作失败// 当前错误的测试写法
const buttons = wrapper.findAll('button')
const userButton = buttons[1] // undefined
// 应该修改为
const radioButtons = wrapper.findAllComponents(NRadioButton)
const userButton = radioButtons.find(btn => btn.props().value === 'user')
// 或者使用属性选择器
const userButton = wrapper.find('[value="user"]')
问题类别: 历史遗留组件测试问题
影响范围: 输出显示组件
失败原因: CSS类名和组件行为期望不匹配
应该能处理编辑模式应该能处理流式状态应该能处理加载状态应该能根据 reasoningMode 控制推理内容显示应该能正确处理只读模式下的长文本滚动应该能同时处理长推理内容和长文本内容output-display-core--streaming)在实际组件中不存在// 检查实际渲染的类名
console.log(wrapper.classes()) // 查看实际的class列表
// 更新测试期望的类名
// 在组件中添加数据属性
<div :data-streaming="isStreaming" :data-loading="isLoading">
// 在测试中检测
expect(wrapper.attributes('data-streaming')).toBe('true')
问题类别: Composable测试环境配置问题
影响范围: 响应式布局管理hook
失败原因: 生命周期钩子在测试环境中的上下文问题
[Vue warn]: onMounted is called when there is no active component instance
[Vue warn]: onUnmounted is called when there is no active component instance
[Vue warn]: Cannot unmount an app that is not mounted
onMounted 和 onUnmounted 需要组件实例支持// 错误的测试方式
const layout = useResponsiveTestLayout()
// 正确的测试方式 - 在组件中测试
const TestComponent = defineComponent({
setup() {
return useResponsiveTestLayout()
},
template: '<div></div>'
})
const wrapper = mount(TestComponent)
// 然后测试wrapper.vm中的响应式数据
问题类别: 工作流集成测试问题
影响范围: 用户提示词优化工作流
失败原因: 验证逻辑期望与实际行为不匹配
should validate optimization mode selection需要检查验证逻辑的具体实现,确认是业务逻辑变更还是测试期望错误。
| 组件/问题 | 预估工作量 | 复杂度 | 备注 |
|---|---|---|---|
| OptimizationModeSelector | 2-3小时 | 中等 | 需要重写测试选择器逻辑 |
| OutputDisplay | 4-5小时 | 较高 | 需要分析组件变更和更新测试 |
| useResponsiveTestLayout | 1-2小时 | 低 | 调整测试方式即可 |
| Workflow Integration | 1-2小时 | 低 | 需要确认业务逻辑 |
总计: 约8-12小时工作量
这些问题属于项目维护范畴,不属于TestArea重构项目的交付范围。建议:
记录时间: 2025-01-20
记录人: Claude Code AI Assistant
问题状态: 待处理
预计解决时间: 1-2个开发周期