测试此属性的最佳方法是什么:

  public string ThreadId {
        get { return _threadId; }
        set {
            _threadId = value;
            NotifyPropertyChanged();
        }
    }


到目前为止,我有此测试:

    [Fact]
    public void ThreadIdTest() {
        compassLogData.ThreadId = "[11]";
        const string expected = "[11]";
        string actual = compassLogData.ThreadId;
        Assert.Equal(expected, actual);
    }


但是我需要一个测试NotifyPropertyChanged()用来
更新用户界面。

最佳答案

一种简单的方法是:

var notified = false;
compassLogData.PropertyChanged += (s, e) =>
{
    if(e.PropertyName == "ThreadId")
        notified = true;
};

compassLogData.ThreadId = "[11]";
Assert.True(notified);

关于c# - 单元测试NotifyPropertyChanged(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14705953/

10-13 06:45