有问题,我尝试起订量和我遇到一个问题,下面的测试体:与MOQ
var child = new Mock<ZooNode>();
var parent = new Mock<ZooNode>();
child.Object.Parent = parent.Object;
parent.Expect(p => p.Children.Contains(child.Object)).Returns(true);
会抛出:
System.ArgumentException:无效 预期上一个不可覆盖的 成员:p => p.Children.Contains(value(ZooCms.Core.Tests.Model.ZooNodeTest + <> c__DisplayClass0).child.Object)。
我不太确定它的moq,但我测试的代码非常简单。我不确定它是否重要,但ZooNode是一个抽象类。
在此先感谢。
编辑
继承人从darin's response代码建议修订后:
public abstract class ZooNode : ZooObject
{
private ZooNode _parent{ get; set;}
public ZooNode Parent {
get
{
return _parent;
}
set
{
if(Parent != null)
Parent.Children.Remove(value);
_parent = value;
_parent.Children.Add(this);
}
}
public virtual IList<ZooNode> Children { get; private set; }
}
现在抛出
试验方法 ZooCms.Core.Tests.Model.ZooNodeTest .TestSetParentAddsNodeToParentNodeList 抛出异常: System.NullReferenceException:对象 引用未设置为一个 对象的实例..
当我尝试,我得到下面的异常信息:System.NullReferenceException: ZooCms.Core.Tests.Model.ZooNodeTest.TestSetParentAddsNodeToParentNodeList抛出异常检测方法的对象引用不设置到对象的实例.. – Chance 2009-01-18 20:45:18