【问题标题】:Unit testing a hybrid angular/react app对混合 Angular/React 应用程序进行单元测试
【发布时间】:2015-11-06 18:24:08
【问题描述】:

我有一个大型 Angular 应用程序,我正在尝试将其逐步转换为 React。所以我的一个角度指令渲染了一个带有 id 的 div,控制器将使用 ReactDOM.render 将 React 组件渲染到该 div。

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

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

【问题讨论】:

    标签: javascript angularjs unit-testing reactjs karma-runner


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-01-22
        • 2016-04-05
        • 2012-03-21
        • 2011-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-01
        • 2019-09-10
        相关资源
        最近更新 更多