私は StatefulWidget (それを呼び出すMyWidget
) を持っています。その State ( ) には、次のように初期化されるMyWidgetState
フィールドがあります。myData
initState()
void initState() {
super.initState();
myData = new myData(config.someField.getId());
}
ユーザーがボタンを押すと、myData がグローバル リストに追加またはグローバル リストから削除されます。
この動作をテストする単体テストを作成しようとしていますが、MyWidgetState にアクセスする方法がわかりません。これを setup() に含めてみました:
widget = MyWidget();
widgetState = widget.createState();
widgetState.init();
しかし、initState() を試みるたびにクラッシュし、「someField が null で呼び出された」と不平を言います。それはいいです。私はおそらくそのようにしようとして不正行為をしていたので、WidgetBuilder で何かを行うか、MyWidget を使用してアプリケーションを起動し、適切にインスタンス化されたらツリーで MyWidget を見つける必要があります。
そのすべてを行った場合、その MyWidget の MyWidgetState にアクセスして myData のコピーを取得し、それをグローバル リストと比較するにはどうすればよいでしょうか?