1

我在某个小部件上方创建了一些提供者(例如提供者 A、B、C),并ProviderNotFoundException在从小部件树中删除提供者的情况下进行测试。

现在我正在测试ProviderNotFoundException这样的:

expect(tester.takeException(), isA<ProviderNotFoundException>());

这是非常通用的,因为如果它们被删除,这将适用于所有提供者 A、B 和 C。我想添加额外的约束来检查是否只有提供者 B 没有找到。

我尝试使用该having方法,isA但无法使其正常工作。

expect(
              tester.takeException(),
              isA<ProviderNotFoundException>().having(
                (e) => e.valueType,
                'valueType',
                contains('A'),
              ));
4

1 回答 1

0

使用该having方法添加额外的约束并检查参数是否正确feature匹配参数。matcher

 expect(
              tester.takeException(),
              isA<ProviderNotFoundException>().having(
                (e) => e.valueType,
                'valueType',
                A,
              ));

于 2021-07-06T17:47:13.723 回答