如何解决Dart:通过访问模拟的属性来测试私有方法
我正在尝试获取一个模拟对象属性。在初始化期间,'child' 类正在获取对父类私有函数的引用。我想在测试期间捕获此引用以检查父级的私有方法。
这是更复杂代码的简化示例:
class Monkey{
final name;
final Perk _perk;
Monkey('Maya',this._perk){
this._perk.jump = this._jump;
}
void _jump(int a){ // here's the problem,not able to test private method
print('jump ${a}');
}
}
我想要做的就是能够在 mockito 测试期间测试私有方法 _jump。我不想更改代码。 在测试期间我创建了
class MockPerk extends Mock implements Perk{}
Monkey(mockedPerk);
我想要实现的是:
限制
解决方法
您可以使用 verify(mock.setter = captureAny)
捕获传递给 setter 的值。例如:
var mockedPerk = MockPerk();
var monkey = Monkey('Maya',mockedPerk);
var jump = verify(mockedPerk.jump = captureAny).captured.single as void
Function(int);
jump(5); // Prints: jump 5
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。