Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> После тест. метода запускается Page_Load,почему? 
:(
    Опции темы
Gigant007
Дата 19.3.2011, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



Есть тестовый метод, 
Код

[TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("C:\\Documents and Settings\\islam\\мои документы\\visual studio 2010\\Projects\\CustomersSolution\\Customers", "/")]
        [UrlToTest("http://localhost:50393/Login.aspx")]
        [DeploymentItem("Customers.dll")]
        public void AuthenticateUserTest()
        {
            TrueLogin_Accessor target = new TrueLogin_Accessor();
            List<Customers.Models.Customer> now = (new CustomersDBEntities()).Customers.ToList();
            TextBox LoginTB = new TextBox();
            LoginTB.Text = now[0].Login;
            target.Login = LoginTB;
            TextBox PasswordTB = new TextBox();
            PasswordTB.Text = now[0].Password;
            target.Password = PasswordTB;          
            bool expected = true;
            bool actual = false;
            actual = target.AuthenticateUser();
            Assert.AreEqual(expected, actual);
        }

который по идее должен проверять правильность работы метода AuthenticateUser
Код

private bool AuthenticateUser()
        {
            SimpleMembershipProvider S = new SimpleMembershipProvider();
            if (S.ValidateUser(Login.Text.ToString(), Password.Text.ToString()))
            {
                Customer currentCustomer = S.AllCustomers.Find(m => m.Login == Login.Text.ToString());
                List<Order> currentOrders = (new CustomersDBEntities()).Order.Where(m => m.IDCustomer == currentCustomer.IDCustomer).ToList();
                CurrentMember currentMember = new CurrentMember(currentCustomer, currentOrders);
                Session["currentMember"] = currentMember;                                
                FormsAuthentication.RedirectFromLoginPage(currentCustomer.Name, false);
                return true;
            }
            else  { return false; };
        }

Тестовый метод срабатывает правильно, и устанавливает значение теста пройден, но после срабатывания тестового метода, выполнение переходит к методу Page_Load 
Код

protected void Page_Load(object sender, EventArgs e)
        {FormsAuthentication.SignOut();}

после окончания которого результат теста переходит из пройденного, в не пройденный и выдается следующая ошибка:"Не удалось настроить канал связи с ASP.NET. Затребованная служба не найдена."
1) Как лучше изменить тест в таком случае? Может программно установить, что бы не запускался метод Page_Load?
1.1) Почему Page_Load запускается не в начале, т.е. при инициализации и первом применении объекта target, а после выполнения тестового метода?
1.2) Почему вызов этого метода, после окончания и присвоения результата теста, меняет результат?
2) Когда проверяю контрольные значения и ввожу target.AuthenticateUser(), выдается сообщение:"Это выражение вызывает побочные эффекты и не будет вычислено", почему вызывается этот побочный эффект? 
PM MAIL   Вверх
EagleOne
Дата 25.3.2011, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 20.11.2009

Репутация: 1
Всего: 1



особо не вник, но, наверно, потому что в AuthenticateUserTest() происходит вызов  AuthenticateUser(), а в нем:

Цитата

FormsAuthentication.RedirectFromLoginPage(currentCustomer.Name, false);


после редиректа жизненый цикл страницы, на которую редиректились и собсвено Page_Load

наверно, как-то так... 

Это сообщение отредактировал(а) EagleOne - 25.3.2011, 14:03
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.