Lon*_*les 12 dart flutter flutter-test
目标是验证颜色RaisedButton.icon
在我的小部件测试期间,我能够查找带有 的文本find.text以及带有 的图标find.byIcon。没有内置的方法来查找颜色。
一个人如何做相当于 的事情find.color?
我的代码示例是
RaisedButton.icon(
color: Color(_isAttendingEvent ? 0xFFD9FFB3 : 0xFFE3FFC7),
icon: Icon(_isAttendingEvent ? Icons.star : Icons.star_border),
label: Text(
_isAttendingEvent ? 'Attending' : 'Attend',
),
),
Run Code Online (Sandbox Code Playgroud)
我正在尝试确定是否存在color: Color(0xFFD9FFB3)或color: Color(0xFFE3FFC7)
我不确定这是否可能
Net*_*cha 22
我不确定RaisedButton.icon,但如果它只是一个图标,您可以尝试使用:
expect((tester.firstWidget(find.byType(Icon)) as Icon).color, Color(0xFFE3FFC7));
Run Code Online (Sandbox Code Playgroud)
如果它不是屏幕上出现的第一个图标小部件,您可以通过以下方式指定它的索引:
expect((tester.widget(find.byType(Icon).at(/*index*/)) as Icon).color, Color(0xFFE3FFC7));
Run Code Online (Sandbox Code Playgroud)
例如:
要查找材质颜色,您可以使用:
expect((tester.firstWidget(find.byType(Material)) as Material).color, Colors.black);
Run Code Online (Sandbox Code Playgroud)
要查找具有 BoxDecoration 颜色的容器:
expect(((tester.firstWidget(find.byType(Container)) as Container).decoration
as BoxDecoration).color, Colors.black);
Run Code Online (Sandbox Code Playgroud)
要查找文本颜色:
expect(((tester.firstWidget(find.text('text')) as Text).style).color, Colors.black);
Run Code Online (Sandbox Code Playgroud)
找到应用栏材料。颜色
final appbar = tester.widget<AppBar>(find.byKey(Key("appbar")));
expect(appbar.backgroundColor,Colors.white);
Run Code Online (Sandbox Code Playgroud)
查找文字颜色材质
final text = tester.widget<Text>(find.text("text"));
expect(text.style.color, Colors.grey);
expect(text.style.fontSize, 15);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9162 次 |
| 最近记录: |