테스트의 생성된 Java 코드에서 데이터풀 API에 대한 호출을 작성하여 Hyades 테스트에서 데이터풀을 사용할 수 있습니다.
사용하려는 데이터풀이 이미 있어야 합니다.
데이터풀을 사용하려는 테스트에 대한 Java 코드가 이미 있어야 합니다. 마우스 오른쪽 단추로 테스트를 누른 후 생성을선택하여 코드를 생성하십시오.
2단계를 나타내는 다음 인용문은 생성된 Hyades 테스트의 시작 부분에 나타나는 가져오기 명령문을 보여줍니다. 맨 끝에 굵은체로 된 행은 테스트에 추가해야 하는 데이터풀 가져오기 명령문입니다.
package test; import java.util.Random; import junit.extensions.RepeatedTest; import junit.framework.Test; import org.eclipse.hyades.test.common.junit.DefaultTestArbiter; import org.eclipse.hyades.test.common.junit.HyadesTestCase; import org.eclipse.hyades.test.common.junit.HyadesTestSuite; import org.eclipse.hyades.test.http.runner.HttpCookieCache; import org.eclipse.hyades.test.http.runner.HttpExecutor; import org.eclipse.hyades.test.http.runner.HttpHeader; import org.eclipse.hyades.test.http.runner.HttpRequest; import org.eclipse.hyades.test.http.runner.HttpResponse; import org.eclipse.hyades.test.http.runner.internal.util.HttpTestUtil; import org.eclipse.hyades.models.common.datapool.impl.Common_DatapoolFactoryImpl; import org.eclipse.hyades.execution.runtime.datapool.*;
3단계를 나타내는 다음 인용문은 테스터가 www.amazon.com으로 가서 atonement라는 책을 검색하여 생성된 테스트에서 가져온 것입니다.
public void c8postwww_amazon_com() throws Exception { HttpRequest request = new HttpRequest(); request.setMethod("POST"); request.setVersion("1.1"); request.setHost("www.amazon.com"); request.setPort(80); request .setAbsolutePath("/exec/obidos/search-handle-form/102-5005957-7048952"); request .setBody("url=index%3Dstripbooks=atonement=10=6");
4와 5단계를 나타내는 다음 인용문에서 굵은체로 된 행은 books 데이터풀의 title 열이 atonement 값을 대체하는 것과 같이 생성된 테스트 코드를 수정하는 방법을 보여줍니다. 두 번째 행의 "pathname of books.datapool" 대신에 books 데이터풀의 완전한 경로 이름을 넣으십시오.
public void c8postwww_amazon_com() throws Exception { IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl(); IDatapool datapool = dpFactory.load(new File("pathname of books.datapool"), false); //false - nonshared IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate"); iter.dpInitialize(datapool, -1); //-1 - go through all ECs while (!iter.dpDone()) { HttpRequest request = new HttpRequest(); request.setMethod("POST"); request.setVersion("1.1"); request.setHost("www.amazon.com"); request.setPort(80); request .setAbsolutePath("/exec/obidos/search-handle-form/102-5005957-7048952"); // request // .setBody("url=index%3Dstripbooks=atonement=10=6"); //new String title = iter.dpCurrent().getCell("title").getStringValue(); iter.dpNext(); String body = "url=index%3Dstripbooks=" + title + " =10=6"; request.setBody(body); //end new // Lines from test ommitted ... }// Close loop through datapool
상위 주제: 테스트에 변수 데이터 제공