当我在NUnit = Red Bar中运行此测试时。
[Test]
public void ChangingValueViaPropertyDescriptorRaisesPropertyChangedNotification()
{
PropertyChangedEventArgs pCEventArgs = null;
subjectVM.PropertyChanged += (sender, e) => { pCEventArgs = e; };
PropertyDescriptor descriptor = subjectVM.GetProperties().Find(schoolMeta.Name, false);
descriptor.SetValue(null, "School's out for summer.");
Assert.IsNotNull(pCEventArgs);
Assert.AreEqual("School", pCEventArgs.PropertyName);
}
但是,当我在Visual Studio中使用Testdriven.Net运行此测试时,它会通过(从控制台应用程序运行时也可以。)
当NUnit失败时,因为PropertyChanged为null,subjectVM是一个从基类继承PropertyChanged的View Model类。
我应该责备,还是我正在查看NUnit错误?
答案 0 :(得分:2)
不同的测试工具以不同的顺序执行测试:如果此测试具有对fixture的执行顺序的隐式依赖性,则可能导致此问题(我之前已被此烧毁)。
我最好的猜测是,另一项测试是对subjectVM
(或其成员之一)做了一些可疑的事情。