我目前正在学习如何在Silverlight RIA项目中对我的方法进行单元测试。我有一些用户被授权的方法。我虽然可以通过创建模拟授权服务来解决这个问题。然后让用户以这种方式获得授权,但似乎我是代码中的null引用,因为它调用我正在测试的代码所源自的项目中的授权服务,并在createdefaultuser方法中获取null引用,否则在mockauthorizationservice中手动覆盖。
我如何得到这个? 我的模拟授权具有此命名空间/类定义名称空间
Notlr.Test
{
public class MockAuthentication : AuthenticationService
{
}
}
我的Ria身份验证服务如下所示:
namespace Notlr.Web
{
using System;
using System.ServiceModel.DomainServices.Hosting;
using System.ServiceModel.DomainServices.Server.ApplicationServices;
using System.Web.Security;
/// <summary>
/// RIA Services DomainService responsible for authenticating users when
/// they try to log on to the application.
///
/// Most of the functionality is already provided by the base class
/// AuthenticationBase
/// </summary>
[EnableClientAccess]
public class AuthenticationService : AuthenticationBase<User>
{
}
}
答案 0 :(得分:1)
Jakob,听起来你有命名空间问题。请记住,Visual Studio中的“测试项目”与其他项目一样。它有自己的命名空间,并编译成自己的.net程序集。拥有“测试项目”并不会自动将模拟对象放入测试中;你必须编写代码来自己完成这个。
您需要确保在测试运行时编写测试代码以使用模拟授权服务。如果您需要更具体的帮助,请发布您遇到问题的代码。