Итак, у меня есть клиент GWT, который взаимодействует с сервером Python Google App Engine. Клиент делает запрос к ресурсам сервера, сервер отвечает в формате JSON. Это просто, без RPC или чего-то подобного. Я использую Eclipse для разработки своего кода GWT.
У меня есть тест GWTTestCase, который я хотел бы запустить. К сожалению, я не знаю, как на самом деле запустить сервер движка приложений Google для каждого теста. Приведенная ниже блестящая идея состояла в том, чтобы попытаться запустить сервер ядра приложений из командной строки, но, конечно, это не работает, поскольку Process и ProcessBuilder не являются классами, которые фактически содержит комплект разработчика GWT.
package com.google.gwt.sample.quizzer.client;
import java.io.IOException;
import java.lang.ProcessBuilder;
import java.lang.Process;
import com.google.gwt.junit.client.GWTTestCase;
public class QuizzerTest extends GWTTestCase {
public String getModuleName() {
return "com.google.gwt.sample.quizzer.Quizzer";
}
public void gwtSetUp(){
ProcessBuilder pb = new ProcessBuilder("dev_appserver.py",
"--clear_datastore",
"--port=9000",
"server_python");
try {
p = pb.start();
} catch (IOException e) {
System.out.println("Something happened when starting the app server!");
}
public void gwtTearDown(){ p.destroy(); }
public void testSimple() {
//NOTE: do some actual network testing from the GWT client to GAE here
assertTrue(true);}
}
Я получаю следующие ошибки при компиляции этого файла:
[ERROR] Line 21: No source code is available for type java.lang.Process; did you forget to inherit a required module?
[ERROR] Line 30: No source code is available for type java.lang.ProcessBuilder; did you forget to inherit a required module?
Как вы можете видеть ниже, я в основном хочу, чтобы это было так, как в тесте:
- Запускает пустой экземпляр хранилища данных моего сервера GAE
- запускает тест по сети для этого экземпляра сервера.
- Остановить сервер
- Конечно, сообщите мне результаты теста.
У кого-нибудь есть хороший способ сделать это? Частичные решения приветствуются! Хаки тоже хорошо. Может быть, некоторый прогресс в этой проблеме может быть достигнут путем редактирования файла конфигурации ".launch"? Единственный важный критерий - это то, что я хотел бы «протестировать» части моего кода GWT на моем реальном сервере Python GAE.
Спасибо.