Reactjs jest-嵌套在React SFC组件中时,快照中未生成连接的组件?
我有一个证监会的组成部分。最近我添加了一个特性,最简单的方法是将连接的组件嵌套在这个SFC(无状态功能组件)组件中 我可以让应用正常运行,但快照测试失败,因为快照中未生成连接的组件 日志:Reactjs jest-嵌套在React SFC组件中时,快照中未生成连接的组件?,reactjs,react-redux,jestjs,Reactjs,React Redux,Jestjs,我有一个证监会的组成部分。最近我添加了一个特性,最简单的方法是将连接的组件嵌套在这个SFC(无状态功能组件)组件中 我可以让应用正常运行,但快照测试失败,因为快照中未生成连接的组件 日志: -快照 +收到 @@ -95,10 +95,12 @@ > + + 某些组件: class SomeComponent extends React.Component<IStateProps> { public render() {// render code} fu
-快照
+收到
@@ -95,10 +95,12 @@
>
+
+
某些组件:
class SomeComponent extends React.Component<IStateProps> {
public render() {// render code}
function mapStateToProps(state: IRootState): IStateProps {
return {// code}
export default connect<IStateProps>(mapStateToProps)(SomeComponent);
类SomeComponent扩展React.Component{
公共呈现(){//render code}
函数MapStateTrops(状态:IRootState):iStateTrops{
返回{//code}
导出默认连接(MapStateTops)(SomeComponent);
我是个新手。我不确定在SFC中嵌套一个有状态组件是否有意义,但这样做确实有效。只是测试失败了
所以我的问题是
- 在SFC组件中嵌套一个有状态组件是一种好的做法吗?如果不是,有什么更好的方法
- 如果可以这样做,如何进行快照测试
SomeComponent
。上面的快照是针对SomeComponent
的父组件的。您可以这样做吗ht希望捕获单独的快照作为对SomeComponent
的测试。是的,我没有看到任何与SomeComponent
相关的内容。因此我只导出了连接的组件,而没有导出底层的表示组件。测试失败,因为快照不包含“
”但是收到的值是。我不知道为什么快照既不包含连接的组件,也不包含类似
的内容。快照不应该反映代码更改吗?如果快照在更新后没有元素,这不意味着元素丢失了吗?您使用shallow()
,不是吗?@skyboyer我正在使用它,这是预期的。所以要么使用完全渲染,要么处理它(并单独测试组件)。我相信以后的选项更好。
class SomeComponent extends React.Component<IStateProps> {
public render() {// render code}
function mapStateToProps(state: IRootState): IStateProps {
return {// code}
export default connect<IStateProps>(mapStateToProps)(SomeComponent);