Slack利用AI将Enzyme测试代码转换为React Testing Library

2024-06-19

为了支持React 18,Slack 工程师决定将超过 15,000 个 Enzyme 测试用例转换为 React Testing Library (RTL)。他们首先尝试使用抽象语法树 (AST) 转换,但由于 Enzyme 和 RTL 之间缺乏直接映射,这种方法被证明过于复杂。随后,他们尝试了大型语言模型 (LLM),但结果不一致。最终,他们开发了一种混合方法,结合了 AST 和 LLM,成功实现了 80% 的转换率。这种方法包括收集 React 组件的 DOM 树以提供上下文信息,并使用提示和 AST 代码修改来控制 LLM。Slack 的代码转换工具为开发人员节省了大量时间,并将在未来探索自动生成前端单元测试。

阅读更多
未分类