我有一个类(为简单起见,我将其称为 MyCustomCommand),它基本上接受两个委托来执行和 CanExecute。此类实现 ICommand。然后,这允许我在我从 XAML 绑定到的视图模型中声明一个属性。
问题是我遇到了一个场景,由于我的一个名为 ApplyChangesCommand 的命令中存在依赖关系,我需要模拟视图模型。我不相信依赖是一件坏事。在这一点上是比较必要的。
由于这种依赖关系,我使用模拟设置来创建一个回调,它基本上“什么都不做”来规避依赖关系。
现在我已经模拟了视图模型,任何实例属性现在当然都是空的。这包括我的命令。
简单的例子是:
private void _somethingToExecute;
public ICommand ApplyChangesCommand { get { return MyCustomCommand(_somethingToExecute, e=>true); }
Mock 有什么方法可以让我真正调用 ApplyChangesCommand 的 _somethingToExecute?Callbase 没有削减它,我想不出任何其他方法来做到这一点。
一种解决方法是公开“_somethingToExecute”并在我的测试中创建 ApplyChangesCommand,但我不是粉丝。
任何建议表示赞赏。
谢谢