Javascript 混合角度/反应应用程序的单元测试
我有一个很大的角度应用程序,我正在尝试增量转换它以做出反应。因此,我的一个angular指令呈现一个id为的div,控制器将使用Javascript 混合角度/反应应用程序的单元测试,javascript,angularjs,unit-testing,reactjs,karma-runner,Javascript,Angularjs,Unit Testing,Reactjs,Karma Runner,我有一个很大的角度应用程序,我正在尝试增量转换它以做出反应。因此,我的一个angular指令呈现一个id为的div,控制器将使用ReactDOM.render将React组件呈现给该div 除了单元测试之外,一切都很好。使用karma和angular的测试套件已经进行了大量的单元测试,当我调用ReactDOM.render时,它们会抛出一个错误,因为没有可用于getElementById的文档。Angular的测试框架允许您$compile您的Angular代码,这样您就可以在不使用DOM的情况
ReactDOM.render
将React组件呈现给该div
除了单元测试之外,一切都很好。使用karma和angular的测试套件已经进行了大量的单元测试,当我调用ReactDOM.render
时,它们会抛出一个错误,因为没有可用于getElementById的文档。Angular的测试框架允许您$compile
您的Angular代码,这样您就可以在不使用DOM的情况下运行单元测试
我希望以前有人遇到过这个问题——有没有办法让React单元测试与使用Karma的Angular单元测试一起工作?这些是单元测试还是集成测试?如果您可以将它们视为真正的单元测试,那么一种方法可能是单独进行测试。分别为React组件编写测试,并在角度测试中取消对
ReactDOM.render
的调用。相反,角度测试应该只测试特定于角度代码的功能,并将React代码视为一个单独的系统。这些是单元测试还是集成测试?如果您可以将它们视为真正的单元测试,那么一种方法可能是单独进行测试。分别为React组件编写测试,并在角度测试中取消对ReactDOM.render
的调用。相反,角度测试应该只测试特定于角度代码的功能,并将React代码视为一个单独的系统。如果您使用Karma,文档将被定义。如果在抛出错误的行上设置断点,window
是什么样子的?如果使用Karma,文档将被定义。如果在抛出错误的行上设置断点,window
是什么样子的