gpt4 book ai didi

testing - 如何在 Flutter 小部件测试中停用或忽略布局溢出消息?

转载 作者:IT王子 更新时间:2023-10-29 06:37:54 27 4
gpt4 key购买 nike

测试使用 Ahem 字体 运行,该字体太大,有时会溢出,从而破坏测试。有些测试无论如何都不关心溢出,因此应该有一种方法可以停用它们。

我有很多测试在模拟器中运行正常,但在测试中中断。

我们被迫防止现实中永远不会溢出的小部件溢出,或者为测试提供字体而不是Ahem,只是为了不溢出测试。除非您正在进行“溢出错误测试”,否则测试溢出错误是没有意义的。

如何关闭这些错误,或者如何让测试忽略它们?

最佳答案

基于 @RémiRousselet答案,我开发了一个解决方案。

FlutterError.onError = _onError_ignoreOverflowErrors;

Function _onError_ignoreOverflowErrors = (
FlutterErrorDetails details, {
bool forceReport = false,
}) {
assert(details != null);
assert(details.exception != null);
// ---

bool ifIsOverflowError = false;

// Detect overflow error.
var exception = details.exception;
if (exception is FlutterError)
ifIsOverflowError = !exception.diagnostics
.any((e) => e.value.toString().startsWith("A RenderFlex overflowed by"));

// Ignore if is overflow error.
if (ifIsOverflowError)
print('Overflow error.');

// Throw others errors.
else
FlutterError.dumpErrorToConsole(details, forceReport: forceReport);
};

这个函数只忽略溢出异常。

关于testing - 如何在 Flutter 小部件测试中停用或忽略布局溢出消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57499131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com