我班上有以下属性。
public bool IsUser
{
get
{
return true;
}
}
我正在尝试为这个编写单元测试,我必须将IsUser
设为false。
我试图避免原始属性的更改。是否可以在单元测试中进行更改。
答案 0 :(得分:0)
您发布的代码根本不支持任何分配操作 因为你实际上没有存储任何信息,你只需返回逻辑常量。为了支持赋值操作,你必须明确地使用一些类字段,因为我在隐式的第一个例子中发布了 - 在第二个。
您可以使DEVICE="eth1"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
PERSISTENT_DHCLIENT="1"
属性受保护,而不是从您要测试的类中测试程序集中使用公共set
属性setter派生测试类或模拟类。
IsUser
或只是
public bool IsUser
{
protected set
{
_someMemberVariable = value;
}
get
{
return _someMemberVariable;
}
}
此代码段显示可以从任何类读取的属性,但只能从自身或派生类型中分配。
在这种情况下, public bool IsUser
{
protected set;
get;
}
必须是私有类字段。