< Назад | Далее >

Урок 4: создание тест-класса Java для тестирования ваших приложений

Урок 4 посвящен созданию тест-класса Java™ для тестирования ваших приложений.
Предварительно следует выполнить Урок 3: создание метода Java.
В этом уроке решаются следующие задачи:
  1. Сначала нужно создать тест-класс Java: Разверните InOutArray > Ресурсы Java > src > sample.ims.
  2. Щелкните правой кнопкой на sample.ims и выберите Создать > класс.
  3. В поле Имя введите TestInOutProxy. Обратите внимание, что класс TestInOutProxy приводится только в качестве примера; нужно изменить код транзакции согласно спецификациям компьютера IMS. О коде транзакции проконсультируйтесь со своим IMS администратором. Для внесения изменений этот оператор input.setWs__trcd("SKS7 "); можно найти в коде.
  4. Убедитесь, что поле Каталог исходного кода содержит InOutArray/JavaSource и что поле Пакет содержит sample.ims.data, и щелкните на Готово.
  5. Двойным щелчком на TestInOutProxy откройте файл в редакторе Java.
  6. Скопируйте весь предоставленный код и вставьте его в класс TestInOutProxy.java. Замените существующий код в редакторе:
    Прим.: Класс TestInOutProxy.java Java был создан для английского языка; для других языков код придется изменить.
    /*
     * Создан 4 октября 2004
     *
     * TODO Для изменения шаблона этого сгенерированного файла выберите пункт меню
     * Окно - Параметры - Java - Стиль кода - Шаблоны кода
     */
    package sample.ims;
    import sample.ims.data.*;
    import com.ibm.connector2.ims.ico.IMSDFSMessageException;
    
    /**
     * @author ivyho
     *
     * TODO Для изменения шаблона этого сгенерированного типа выберите пункт меню
     * Окно - Параметры - Java - Стиль кода - Шаблоны кода
     */
    public class TestInOutProxy
    {
    	public static void main (String[] args)
    	{
    		try {
    			// ---------------------------------------------------	
    			//Создание formatHandler, создающего объект
    			//входящего сообщения из formatHandler. 
    			// ---------------------------------------------------	
    			INOUTMSG input = new INOUTMSG();
    
    			int sz = input.getSize();
    			System.out.println("\исходный размер входящего сообщения: " + sz);
    
    			// ---------------------------------------------------		
    			// Пока не устанавливайте длину (LL) поля...  Подождите, 
    			// пока входящие сообщения будут скорректированы с учетом только
    			// фактического количества отправленных элементов массива. 
    			// ---------------------------------------------------	
    			input.setWs__zz((short) 0);
    			input.setWs__trcd("SKS7 ");
    
    			// ---------------------------------------------------
    			// Создание массива и отправка заполняющих его элементов
    			// в  прикладную программу приложения IMS.  В данном
    			// случае отправляются три элемента.  
    			// ---------------------------------------------------	
    			Inoutmsg_ws__customer[] customers = new Inoutmsg_ws__customer[3];
    
    			Inoutmsg_ws__customer aCustomer1 = new Inoutmsg_ws__customer();
    			aCustomer1.setWs__cust__name("Cathy Tang");
    			aCustomer1.setWs__cust__number("CN001");
    			customers[0] = aCustomer1;
    
    			Inoutmsg_ws__customer aCustomer2 = new Inoutmsg_ws__customer();
    			aCustomer2.setWs__cust__name("Haley Fung");
    			aCustomer2.setWs__cust__number("CN002");
    			customers[1] = aCustomer2;
    
    			Inoutmsg_ws__customer aCustomer3 = new Inoutmsg_ws__customer();
    			aCustomer3.setWs__cust__name("Steve Kuo");
    			aCustomer3.setWs__cust__number("CN003");
    			customers[2] = aCustomer3;
    
    			// ---------------------------------------------------
    			// Настройка массива на входящее сообщение.
    			// ---------------------------------------------------
    			input.setWs__customer(customers);
    			input.setIndx((short) 3);
    			
    			System.out.println("\nInitial value of INDX is: " + input.getIndx());			
    
    			// ---------------------------------------------------			
    			// Перераспределение буфера по фактическим размерам 
    			// ---------------------------------------------------			
    			byte[] bytes = input.getBytes();
    			int size = input.getSize();
    			byte[] newBytes = new byte[size];
    			System.arraycopy(bytes, 0, newBytes, 0, size);
    
    			// ---------------------------------------------------			
    			// Теперь, когда известен, реальный размер, новая настройка
    			// байтов в обработчике формата и настройка 
    			// длины поля ввода сообщения.
    			// ---------------------------------------------------			
    			input.setBytes(newBytes);
    			input.setWs__ll((short) size);
    			System.out.println("\nAdjusted size of input message is: " + size);
    			System.out.println("\nAdjusted size of INDX is: " + input.getIndx());				
    
    			// ---------------------------------------------------
    			// Настройка полей, которые следуют за массивом, 
    			// скорректирована после входящего сообщения.  
    			// ---------------------------------------------------			 			
    			input.setWs__func__code("123456");
    
    			InOutImpl proxy = new InOutImpl();
    
    			INOUTMSG output = new sample.ims.data.INOUTMSG();
    			output = proxy.runInOut(input);
    
    			short outndx = output.getIndx();
    			System.out.println("\nOutput value of INDX is: " + outndx);
    
    			Inoutmsg_ws__customer outArray[] = output.getWs__customer();
    
    			for (int i = 0; i < outndx; i++)
    			{
    				System.out.println(
    					"\n"
    						+ outArray[i].getWs__cust__name()
    						+ outArray[i].getWs__cust__number());
    			}
    		}
    		catch (Exception e)
    		{
    			if (e instanceof IMSDFSMessageException)
    			{
    				System.out.println(
    					"\nIMS returned message: "
    						+ ((IMSDFSMessageException) e).getDFSMessage());
    			}
    			else
    			{
    				System.out.println(
    					"\nIMS Connector exception is: " + e);
    			}
    		}
    	}
    }
  7. Для сохранения изменений нажмите Ctrl+S.
  8. Затем тестирование приложения: Развернуть проект InOutArray и пакет sample.ims.
  9. Щелкните правой кнопкой на классе TestInOutProxy.java и выберите Запустить как > приложение Java.
  10. На консоли появится следующий вывод:
    тест-вывод
Изучение учебника по массивам ввода и вывода.
< Назад | Далее >

Комментарии