【发布时间】:2011-10-02 17:40:51
【问题描述】:
我正在尝试编写一个示例 NUnit 测试脚本来检查缓存中的值
我写了这样的代码
[TestFixture]
class Authorization
{
class AutherizationEntity
{
public int UserID { get; set; }
public int OperationCode { get; set; }
public bool permission { get; set; }
}
[SetUp]
public void Initialize()
{
//if (HttpContext.Current.Cache["UserRights"] == null)
//{
List<AutherizationEntity> AuthorisationObject = new List<AutherizationEntity>();
for (int i = 0; i < 5; i++)
{
AutherizationEntity AEntity = new AutherizationEntity();
AEntity.OperationCode = 10;
AEntity.permission = true;
AEntity.UserID = i;
AuthorisationObject.Add(AEntity);
}
HttpContext.Current.Cache.Insert("UserRights", AuthorisationObject); //Here i am getting the exception in NUnit
//}
}
[TestCase]
public void AuthorizeUser()
{
int UserId = 1;
int OperationCode = 10;
Boolean HaveRight = false;
List<AutherizationEntity> AuthEntity = new List<AutherizationEntity>();
AuthEntity = (List<AutherizationEntity>)HttpContext.Current.Cache.Get("UserRights");
foreach (AutherizationEntity Auth in AuthEntity)
{
if ((Auth.UserID == UserId) && (Auth.OperationCode==OperationCode))
{
HaveRight = Auth.permission;
}
}
Assert.AreEqual(HaveRight, true);
}
}
但是当我尝试使用 NUnit 运行脚本时,我遇到了异常
Authorization.AuthorizeUser(): SetUp : System.NullReferenceException : 对象引用未设置为对象的实例。
你能帮帮我吗?
【问题讨论】: