相关疑难解决方法(0)

我应该测试私有方法还是仅测试公共方法?

我读过这篇关于如何测试私有方法的帖子.我通常不测试它们,因为我一直认为只测试从对象外部调用的公共方法会更快.你测试私人方法吗?我应该经常测试吗?

language-agnostic testing unit-testing

329
推荐指数
16
解决办法
10万
查看次数

在单元测试期间,如何访问StatefulWidget状态的内容?

我有一个StatefulWidget(称为MyWidget),其State(MyWidgetState)具有一个myDatainitState()以下期间初始化的字段:

void initState() {
    super.initState();
    myData = new myData(config.someField.getId());
}
Run Code Online (Sandbox Code Playgroud)

当用户按下按钮时,myData将添加到全局列表中或从全局列表中删除。

我正在尝试编写一个单元测试来测试此行为,但是我不知道如何访问MyWidgetState。我尝试将其包含在setup()中:

widget = MyWidget();
widgetState = widget.createState(); 
widgetState.init();
Run Code Online (Sandbox Code Playgroud)

但是它每次尝试进入initState()时都会崩溃,并抱怨“ someField在null上被调用”。没关系。我可能试图通过这种方式来作弊,我应该使用WidgetBuilder进行一些操作,或者使用MyWidget启动应用程序,然后在正确实例化树后在树中找到MyWidget。

如果做完所有这些,一旦完成,我如何访问该MyWidget的MyWidgetState以获取myData的副本并将其与全局列表进行比较?

flutter

4
推荐指数
3
解决办法
619
查看次数