Юнит-тестирование пользовательского поставщика членства с NUnit бросает ошибку пустого ссылки

Пытается создать учетную запись пользователя в тесте. Но получение ссылки на Объект не имеет instanve объекта ошибка при запуске.

Вот мой поставщик Членства класса в класс, библиотека MyCompany.MyApp.Domain.dll:

using System;
using System.Collections.Generic;
using System.Web.Security;

namespace MyCompany.MyApp.Domain
{
    public class MyMembershipProvider : SqlMembershipProvider
    {
        const int defaultPasswordLength = 8;
        private int resetPasswordLength;

        public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
        {
            resetPasswordLength = defaultPasswordLength;
            string resetPasswordLengthConfig = config["resetPasswordLength"];
            if (!String.IsNullOrEmpty(resetPasswordLengthConfig))
            {
                config.Remove("resetPasswordLength");

                if (!int.TryParse(resetPasswordLengthConfig, out resetPasswordLength))
                {
                    resetPasswordLength = defaultPasswordLength;
                }
            }
            base.Initialize(name, config);
        }

        public override string GeneratePassword()
        {
            return Utils.PasswordGenerator.GeneratePasswordAsWord(resetPasswordLength);
        }
    }
}

Вот мой App.Config мой отдельный Тестовый Класс, Библиотека MyCompany.MyApp.Doman.Test.dll , который ссылается на мой бизнес домена библиотека выше:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
    	<add name="SqlServer" connectionString="data source=mycompSQL2008;Integrated Security=SSPI;Initial Catalog=myDatabase" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <system.web>
    	<membership defaultProvider="MyMembershipProvider" userIsOnlineTimeWindow="15">
    		<providers>
    			<clear/>
    			<add name="MyMembershipProvider"
    				 type="MyCompany.MyApp.Domain.MyMembershipProvider,MyCompany.MyApp.Domain"
    				 connectionStringName="SqlServer"
    				 applicationName="MyApp"
    				 minRequiredNonalphanumericCharacters="0"
    				 enablePasswordRetrieval="false"
    				 enablePasswordReset="true"
    				 requiresQuestionAndAnswer="false"
    				 requiresUniqueEmail="true"
    				 passwordFormat="Hashed"/>
    		</providers>
    	</membership>
    </system.web>
</configuration>

Вот мой метод, который создает "ссылка на Объект не к instanve объекта"

public class MemberTest
    {
        public static void CreateAdminMemberIfNotExists()
        {
            MembershipCreateStatus status;
            status = MembershipCreateStatus.ProviderError;

            MyMembershipProvider provider = new MyMembershipProvider();

            provider.CreateUser("Admin", "password", "someone@somewhere.co.uk", "Question", "Answer", true, Guid.NewGuid(), out status);
        }
    }

он бросает на provider.CreateUser line

Найдено 3 ответа:

Unit test Custom membership provider with NUnit throws null reference error

http://stackoverflow.com/questions/187125/unit-test-custom-membership-provider-with-nunit-throws-null-reference-error

Посмотреть решение →