如何测试 TextPainter?
How can I test a TextPainter?
我写了一个 class 来处理自定义文本换行,但我不确定如何测试它。我正在尝试使用 Flutter 的 testWidgets
方法创建我的外部 class 的实例,向其传递一些文本,然后评估结果。有一个 public class PrecisionTextOverflow
其构建方法是这样的。 _PrecisionTextPainter
处理解析和绘制文本的操作。:
Widget build(BuildContext context) {
return new Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new CustomPaint(
painter: new _PrecisionTextPainter(
mainText,
mainTextStyle,
mainAlignment,
secondaryText,
secondaryTextStyle,
secondaryAlignment,
lineWidth,
linesToWrap),
)
],
);
}
由于 _PrecisionTextPainter
使用 TextPainters
而不是 Text
小部件来绘制实际文本,因此 Finder "find text" method 似乎对我不起作用。
我需要一种方法来测试我的 _PrecisionTextPainter 绘制了什么。如何访问其字段或生成的绘制文本?
很遗憾,我们目前没有测试绘画的好方法。
它在我们想要做的事情列表中排在前列。您可以在此处跟踪进度:
https://github.com/flutter/flutter/issues/3227
我写了一个 class 来处理自定义文本换行,但我不确定如何测试它。我正在尝试使用 Flutter 的 testWidgets
方法创建我的外部 class 的实例,向其传递一些文本,然后评估结果。有一个 public class PrecisionTextOverflow
其构建方法是这样的。 _PrecisionTextPainter
处理解析和绘制文本的操作。:
Widget build(BuildContext context) {
return new Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
new CustomPaint(
painter: new _PrecisionTextPainter(
mainText,
mainTextStyle,
mainAlignment,
secondaryText,
secondaryTextStyle,
secondaryAlignment,
lineWidth,
linesToWrap),
)
],
);
}
由于 _PrecisionTextPainter
使用 TextPainters
而不是 Text
小部件来绘制实际文本,因此 Finder "find text" method 似乎对我不起作用。
我需要一种方法来测试我的 _PrecisionTextPainter 绘制了什么。如何访问其字段或生成的绘制文本?
很遗憾,我们目前没有测试绘画的好方法。
它在我们想要做的事情列表中排在前列。您可以在此处跟踪进度: https://github.com/flutter/flutter/issues/3227