테스트의 생성된 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
상위 주제: 테스트에 변수 데이터 제공