我想移动以下接口:
public interface IDialogService
{
void ShowDialog(string name, IDialogParameters parameters, Action<IDialogResult> callback);
}
我使用以下代码:
protected bool AbortDeleteDialog()
{
bool abort= true;
DialogService.ShowDialog("Should xy be deleted?", [some parameters...],
r => abort = r.Result != ButtonResult.OK);
return abort;
}
出于测试目的,我想要r.Result有时匹配ButtonResult.OK,有时不匹配。有什么方法可以用最小起订量做到这一点吗?
您可以使用回调:
var mock = new Mock<IDialogService>();
mock.Setup(x => x.ShowDialog(It.IsAny<string>(), It.IsAny<IDialogParameters>(), It.IsAny<Action<IDialogResult>>())
.Callback((string name, IDialogParameters parameters, Action<IDialogResult> callback) =>
callback(new DialogResult(ButtonResult.Ok)));
...
thing.AbortDeleteDialog();