Flutter の Widget Test でチェックボックス(CheckboxListTile)がチェックされていることをテストする

※この内容は Flutter SDK v1.12.13+hotfix.5 で確認しました。

Flutter の Widget Test でチェックボックス(CheckboxListTile)がチェックされているかどうかをテストする方法を調べるのに地味に手間取ったので。

下記のような CheckboxListTile があるとして

Widget build(BuildContext context) {  
  return CheckboxListTile(  
    title: const Text('Test'),  
    value: checkBoxValue,  
    onChanged: (value) {  
        // 何かの処理  
    },  
  );  
}  

このチェックボックスがチェックされていることのテストは下記のようになります。

final c= find.byType(CheckboxListTile).evaluate().single.widget as CheckboxListTile;  
expect(c.value, isTrue);  

なお CheckBoxListTile が同じ画面に複数ある場合は find.byType(CheckboxListTile) では多分取得できませんので、その場合は CheckBoxListTile に Key を与えて find.byKey([キー]) で取得するなどしてください。