单元测试混合角度/反应应用程序

Unit testing a hybrid angular/react app

本文关键字:应用程序 混合 单元测试      更新时间:2023-09-26

我有一个大型的angular应用程序,我正在尝试将其增量转换为React。因此,我的一个angular指令渲染了一个带有id的div,控制器将使用ReactDOM.render将React组件渲染到该div

除了单元测试之外,一切都很好。已经有大量的单元测试使用karma和angular的测试套件,当我调用ReactDOM.render时,它们会抛出一个错误,因为没有文档可以获取ElementById。Angular的测试框架允许您$compile您的Angular代码,这样您就可以在不使用DOM的情况下运行单元测试。

我希望有人以前遇到过这个问题——有什么想法可以让React单元测试与使用Karma的Angular单元测试一起工作吗?

这些是单元测试还是集成测试?如果您可以将它们视为真正的单元测试,那么一种方法可能是孤立地测试工件。分别为React组件编写测试,并在角度测试中截断对ReactDOM.render的调用。相反,角度测试应该只测试特定于角度代码的功能,并将React代码视为一个单独的系统。

如果使用Karma,则会定义文档。如果在引发错误的行上设置断点,window会是什么样子?