Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Цель JUnit и Abbot, ? 
:(
    Опции темы
PashaOvechkin
Дата 20.11.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Никогда не приходилось писать юнит тесты.
Сейчас есть необходимость тестить ГУИ с помощью Аббот...

Те кто пользовался етими или подобними штуками, поясните плз что они дают? 

Разобрался с Аббот... 
Принцип работы таков :

Есть  фреим, или что то подобное
Код


import java.awt.*;
import javax.swing.*;


public class Form extends JFrame{
     
     private JButton save;
    

    public BaseForm() {
        
        
         
        this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        this.setVisible(true);

        Container contentPane = this.getContentPane();
        
                
        // ---- LayOut
        contentPane.setLayout(null);
         //contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.PAGE_AXIS));
        //----
        
         save = new JButton("Save");
        save.setFocusPainted( false );
        
        save.setToolTipText("Save");
        addComponentButton.setBounds(new Rectangle( 120, 15, 150, 23));
        contentPane.add( addComponentButton );
        
        
    
}
 

Создаём специальний Аббот тест класс -> 

Код



import abbot.finder.Matcher;

import abbot.tester.ComponentTester;
import java.awt.Component;

import javax.swing.JButton;

import junit.extensions.abbot.ComponentTestFixture;
import junit.extensions.abbot.TestHelper;

public class BaseFormTest extends ComponentTestFixture{

    private ComponentTester tester;
    
    public BaseFormTest(String name) {
        super(name);
    }

    public void testMethod() throws Throwable {
                    
          //  System.out.println("--- IN --- !!!");
                    
            tester = ComponentTester.getTester(BaseForm.class);
            BaseForm frame = new BaseForm();
            
           //showFrame(frame);
            
           // Component list = getFinder().find(new ClassMatcher(JList.class));
           // JListTester tester = new JListTester();
            
            JButton submit = (JButton)getFinder().find(new Matcher() {
                public boolean matches(Component c) {
                    // Add as much information as needed to distinguish the component
                    return c instanceof JButton && ((JButton)c).getText().equals("Save");
                }
            });
            
                        
            
            //tester.actionSelectRow(list, new JListLocation(1)); 
            // tester.actionSelect(list, new JListLocation("Submit Orders"));
            assertEquals("Wrong SAVE button after selection","Save", submit.getText());
        }
    
    public static void main(String[] args) {
        TestHelper.runTests(args, BaseFormTest.class);
    }
}



Запуская ето супер класс мы получаем ответ  - СУПЕЕЕР - в случае если поданное название кнопки, совпадает с тем, что во фреиме указано...

Каким образом ето может помочь  анализировать логику? 
Каким образом ето вообще может помочь?!

Спасибо! 
PM MAIL Skype   Вверх
AntonSaburov
Дата 20.11.2007, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Посмотри вот это - http://antonsaburov.narod.ru/students/part10.html - может поможет понять идею юнит-тестов
PM MAIL WWW ICQ   Вверх
PashaOvechkin
Дата 22.11.2007, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Спасибо Антон - оочень позновательная статья! smile 
Жаль  плюсик не могу поставить...
PM MAIL Skype   Вверх
AntonSaburov
Дата 22.11.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Да ерунда - заходи почаще, задавай вопросы - потом и поставишь smile
PM MAIL WWW ICQ   Вверх
powerOn
Дата 22.11.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(PashaOvechkin @  22.11.2007,  12:43 Найти цитируемый пост)
Жаль  плюсик не могу поставить... 

ну это мы поможем smile


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
PashaOvechkin
Дата 22.11.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



 cool! smile 
Thanks powerOn  smile 
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

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


 




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


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

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