Unit testing 单元测试->;找不到正确的提供程序<;计数器>;上述更改通知提供程序<;计数器>;小装置
我想在我的项目中为提供者(Unit testing 单元测试->;找不到正确的提供程序<;计数器>;上述更改通知提供程序<;计数器>;小装置,unit-testing,flutter,flutter-test,Unit Testing,Flutter,Flutter Test,我想在我的项目中为提供者(ChangeNotifierProvider)创建一个单元测试,我的单元测试、小部件测试和集成测试成功通过✔️, 因此,现在我尝试(尽力这个问题发生了,因为您正在使用要获取的提供程序的BuildContext来调用provider。of: 提供程序( 钥匙:我的钥匙, ... ) Provider.of(myKey.currentContext); 这是不可能的,只有所述提供者的后代才能调用provider.of 考虑将您的测试更改为: testWidget('Pro
ChangeNotifierProvider
)创建一个单元测试,我的单元测试、小部件测试和集成测试成功通过✔️, 因此,现在我尝试(尽力这个问题发生了,因为您正在使用要获取的提供程序的BuildContext
来调用provider。of
:
提供程序(
钥匙:我的钥匙,
...
)
Provider.of(myKey.currentContext);
这是不可能的,只有所述提供者的后代才能调用provider.of
考虑将您的测试更改为:
testWidget('Provider.of',(tester)异步{
等待测试仪.pumpWidget(
提供者(
创建:()=>42,
子级:容器(),
),
);
最终上下文=tester.element(find.byType(Container));
expect(上下文的提供者)等于(42);
});
非常非常好!!!现在它工作得非常好…非常感谢我在我的模型类计数器中使用了我自己的MyApp
小部件,所以它看起来是这样的:final BuildContext childContext=tester.element(find.byType(MyApp));
和expect(Provider.of(childContext).value,0);