颤振单元测试错误 :: 类型 'Null' 不是类型 'RxString' 的子类型



我正在构建一个应用程序,并使用GetX作为依赖关系管理器。我正在编写单元测试来测试控制器内部功能的功能。但是,当我运行测试时,得到如下错误。

这是我的控制器类:
class SwitchController extends GetxController {
final visitsController = Get.put(DateNavigationController());
var selectedPill = "week".obs;
var labelIndex = 0.obs;
}

由于我也使用GetX作为状态管理解决方案,变量末尾的.obs使其响应。

我所要做的就是检查selectedPill的值,如果它被初始化为"week"。

我使用Mockito来模拟我的控制器类,代码如下:

class MockSwitchController extends Mock implements SwitchController {}
void main() {
late MockSwitchController sut;
setUp(() {
sut = MockSwitchController();
});
tearDown(() {
sut.dispose();
});
test('check the value of selectedPill', () {
expect(sut.selectedPill.value, "week");
});

然而,当运行测试时,我得到一个错误,说"类型'Null'不是类型'RxString'"的子类型。

我不明白问题到底是在哪里出现的,问题可能是什么。

在test下按run键,在main函数下按debug键查看更多细节。当您使用Mock时,您应该告诉函数何时调用,应该返回什么。

相关内容

  • 没有找到相关文章

最新更新