Команды: Click.Command={Binding OkCommand}
на мой взгляд (PopupView.xaml
)
<Button
Name="OKButton"
Content="{Binding Path=foo.foo, Source={StaticResource LocalResourceWrapper}}"
ToolTipService.ToolTip="{Binding Path=foo.foo, Source={StaticResource LocalResourceWrapper}}"
HorizontalAlignment="Center"
commands:Click.Command="{Binding OkCommand}"
Margin="5,10,5,10"
Click="OK_Click"
TabIndex="1" />
запускает следующую команду в моей viewmodel: (PopupViewModel.cs)
private ICommand _okCommand;
public ICommand OkCommand
{
get
{
if (_okCommand == null)
{
_okCommand = new DelegateCommand<object>(OnOKCommand);
}
return _okCommand;
}
}
public void OnOKCommand(object someObject)
{
this.ReturnSelectionListsCommand.Execute(this.GetAuditOrderByItemList());
}
public DelegateCommand<List<AuditOrderByItem>> ReturnSelectionListsCommand { get; set; }
По сути, я хочу обнаружить, что OKCommand действительно вызывается при нажатии кнопки. Итак, мне нужно вручную вызвать событие нажатия OKButton и в конечном итоге определить, что ReturnSelectionListsCommand.Execute()
и GetAuditOrderByItemList()
каждый вызывается один раз, чтобы гарантировать правильную работу моего всплывающего окна. Из моего исследования я вижу, что одноранговый узел ButtonAutomation может использоваться для срабатывания щелчка, но в моем тесте я не вижу, как я могу получить доступ к OKButton, если я использую MVVM.
В моем модульном тесте я пытался использовать что-то вроде этого:
var mock = new Mock<PopupViewModel>();
чтобы хотя бы определить, когда методы вызываются в модели представления.