【发布时间】:2012-12-20 09:09:31
【问题描述】:
在我的类中,为了测试,我有一个私有布尔实例变量和一个访问它的方法:
MyClass()
{
private volatile bool b;
public MyMethod()
{
b = false;
}
}
为方法创建单元测试后
[TestMethod()]
public void MyMethodTest()
{
PrivateObject param0 = new PrivateObject(new MyClass());
MyClass_Accessor target = new MyClass_Accessor(param0);
target.b = false;
}
我收到此错误:
Property, indexer, or event 'property' is not supported by the language; try directly
calling accessor method 'accessor_taketh' 'accessor_giveth'
但是在访问器对象中没有这样的方法,而是有
[Shadowing("b")]
public bool b{ get; set; }
那么为什么我会收到错误消息?
【问题讨论】:
-
您在几分钟前问了同样的问题并删除了。你怎么又问了?
-
对不起,我以为我收到了错误但我错了它仍然存在
-
什么是
PrivateObject和MyClass_Accessor? -
您说您的
bool b是全局的,但在您显示的代码中它不是全局的。您真的发布了所有代码吗?
标签: c# visual-studio-2010 unit-testing private-members