Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Доступ при тестировании (http://www.flasher.ru/forum/showthread.php?t=125980)

QueenT 06.06.2009 12:10

Доступ при тестировании
 
Скажите, пожалуйста, что делать в таком случае: я тестирую метод какого-нить класса, но что б это сделать, мне сначало надо записать данные в массив этого класса - он(массив) у меня private. Например, в коде, приложенном ниже, метод getSomeString - возвращает строку, сформированную с массива. но как мне заполнить этот массив? Но не делать же его public ради тестов? И писать сеттер как-то не совсем думаю правильно. Как быть?
Код AS3:

public class SomeClassTest extends TestCase {                
 
                private var someClass:SomeClass = new SomeClass();
 
                public function testSomeFunc():void {               
                  //????
                    assertEquals( "023", someClass.getSomeString());       
                }
 
        }


Котяра 06.06.2009 12:27

а каким образом этот массив должен заполнятся? не в тестовом варианте а в рабочем? наверняка есть каккой-нибудь init() или еще что..
Вот и используйте эти методы. а еще вернее их-то и надо тестировать.

QueenT 06.06.2009 12:35

ну конечно есть такой метод. Получается если я буду использовать init() для тестирования другого метода, то мне надо перед этим протестить init()... типа цепочкой тестить надо. Просто я только сегодня впервые столкнулась с тестированием, и пока в нем "нихтъ ферштеен"(((

Котяра 06.06.2009 12:41

тестируют не метод, а весь класс. при добавлении нового метода - тестируют весь класс + новый метод. в этом и состоит методология разработки через тесты. при добавлении нового не должно ломаться старое.

Добавлено через 1 минуту
вызов getSomeString() без предварительного init не должен вызывать ошибку, если
getSomeString() сам проверяет на наличие массива и возвращает эксэпшены.
А если тест при этом валится, значит тестирование показало ошибку в методе.

QueenT 06.06.2009 12:54

Спасибо


Часовой пояс GMT +4, время: 12:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.