授权服务导致unittest失败

时间:2010-11-04 19:12:26

标签: c# unit-testing silverlight-4.0 authorization wcf-ria-services

我目前正在学习如何在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>
{
}
}

1 个答案:

答案 0 :(得分:1)

Jakob,听起来你有命名空间问题。请记住,Visual Studio中的“测试项目”与其他项目一样。它有自己的命名空间,并编译成自己的.net程序集。拥有“测试项目”并不会自动将模拟对象放入测试中;你必须编写代码来自己完成这个。

您需要确保在测试运行时编写测试代码以使用模拟授权服务。如果您需要更具体的帮助,请发布您遇到问题的代码。