Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 混合角度/反应应用程序的单元测试_Javascript_Angularjs_Unit Testing_Reactjs_Karma Runner - Fatal编程技术网

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

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的情况

我有一个很大的角度应用程序,我正在尝试增量转换它以做出反应。因此,我的一个angular指令呈现一个id为的div,控制器将使用
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
是什么样子的