如何在rspec中禁止警告“删除'initialize'可能导致严重问题”?

时间:2018-09-16 20:19:08

标签: rspec rspec-mocks

我有一个测试可以做到:

allow_any_instance_of(GoogleMapsService::Client).to receive(:initialize)

我得到warning: removing 'initialize' may cause serious problems,但是我没有找到其他方法来对此进行存根。

我该如何以其他方式解决它,以免收到警告或如何使警告消失?

非常感谢您

2 个答案:

答案 0 :(得分:0)

我的意思是你为什么不这样做

allow_any_instance_of(GoogleMapsService::Client).to receive(:new)

代替

allow_any_instance_of(GoogleMapsService::Client).to receive(:initialize)

答案 1 :(得分:0)

在实例上调用#initialize方法,而在类上调用#new方法,因此您可以执行以下操作:

renderSeparator = () => (
    <Separator
        marginTop="$unitOne"
        marginBottom="$unitOne"
    />
)

render() {
    const { newsData } = this.props;
    return (
        <Container>
          {newsData.length > 0
            ? (
              <FlatList
                data={newsData}
                renderItem={({ item }) => (
                  item.featured === null && this.renderNews(item)
                )}
                keyExtractor={item => item.id.toString()}
                style={styles.container}
                ItemSeparatorComponent={this.renderSeparator}
                ListHeaderComponent={this.renderFeaturedNews}
              />
            )
            : <Placeholder />
          }
        </Container>
    );
}

有关更多背景信息,请参见This issue