填充控件

时间:2017-06-28 10:37:21

标签: c# unit-testing mocking mstest microsoft-fakes

我试图使用MSTest在一些遗留代码上编写一些单元测试。我在I类测试中添加了一个假装配,但是它引用了一个用户控件并且后面有代码。 我知道这可能不是正确的方法,但可以Shim用户控件吗?他们不会出现在ShimContext中,所以我没有抱太大希望..

1 个答案:

答案 0 :(得分:0)

我不确定你被困在哪里。

如果我在WPF中创建一个新的类UserControl1,如下所示:

  /// <summary>
  /// Interaction logic for UserControl1.xaml
  /// </summary>
  public partial class UserControl1 : UserControl
  {
    public UserControl1()
    {
      InitializeComponent();
    }

    public void Do()
    {

    }
  }

然后我生成的垫片包含Do()方法:

Namespace.Fakes.ShimUserControl1.AllInstances.Do = control1 => { };

如果您想要填充实际System.Windows.Controls.UserControl,请参考PresentationFramework dll并为其生成假货。

然后您将获得要分配的以下实例属性(请参见屏幕截图): Screenshot