0

我有一个看起来像这样的方法:

public void CloseInputTab()
    {
        if (MessageBox.Show("Are you sure you want to cancel? Any Unsaved changes will be lost", "Confirm Cancel", MessageBoxButtons.YesNo) == DialogResult.Yes)
        {
            //Do Stuff
        }
    }

我正在编写两个自动化测试用例。1) 如果单击“确定”,则验证内容发生 2) 如果单击“取消”,则验证内容未发生

Visual Studio 测试工具中有没有办法为每个测试单击相应的按钮。

如果不是,我可以将代码复制到我可以使用的 Mocked 类中,但我不希望这样做。

4

1 回答 1

0

如果您使用的是 WinForms,最好坚持Model-View-Presenter 模式。(如何:对演示者进行单元测试

如果您使用的是 WPF,请考虑使用Model-View-ViewModel 模式。它们都提供可测试性。

更新

下面是一个示例:(MVP) Model View Presenter -带有消息框的被动视图。

于 2012-08-14T17:23:52.560 回答