相关疑难解决方法(0)

在C#中引发事件的单元测试

我有一些引发PropertyChanged事件的代码,我希望能够对事件正确引发的单元测试.

提升事件的代码就像

public class MyClass : INotifyPropertyChanged
{
   public event PropertyChangedEventHandler PropertyChanged;  

   protected void NotifyPropertyChanged(String info)
   {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
   }  

   public string MyProperty
   {
       set
       {
           if (_myProperty != value)
           {
               _myProperty = value;
               NotifyPropertyChanged("MyProperty");
           }
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

我从单元测试中的以下代码中获得了一个很好的绿色测试,它使用了委托:

[TestMethod]
public void Test_ThatMyEventIsRaised()
{
    string actual = null;
    MyClass myClass = new MyClass();

    myClass.PropertyChanged += delegate(object sender, PropertyChangedEventArgs e)
    {
         actual = e.PropertyName;
    };

    myClass.MyProperty = "testing";
    Assert.IsNotNull(actual);
    Assert.AreEqual("MyProperty", actual); …
Run Code Online (Sandbox Code Playgroud)

c# events unit-testing

151
推荐指数
4
解决办法
7万
查看次数

标签 统计

c# ×1

events ×1

unit-testing ×1