我有一个实用程序类,它依赖于上下文来翻译输出。类似于以下内容:
static String doSomeLogicAndTranslate(String firstArg, BuildContext context) {
//...
return AppLocalizations.of(context)!.someKey;
}
现在,我希望能够为这个类编写一些单元测试,但由于第二个参数是上下文,所以我很难这样做。
到目前为止我已经尝试过:
使用 Mockito 模拟 BuildContext(如此处所述)并将其作为第二个参数传递 --> 不起作用,因为在 localizations.dart 文件中它在此处返回 null
static T? of<T>(BuildContext context, Type type) { final _LocalizationsScope? scope = context.dependOnInheritedWidgetOfExactType<_LocalizationsScope>(); /// Scope is null here return scope?.localizationsState.resourcesFor<T?>(type); }
我尝试寻找其他解决方案,但未发现任何实质性内容。这似乎应该很简单,但事实并非如此。