À l'aide d'un Serveur Jetty avec JUnit tests
J'ai essayé de tester mon application web en commençant par un serveur Jetty dans le BeforeClass méthode de mon cas de test JUnit, puis à l'aide d'un HttpClient pour le formulaire de requête au serveur. Je reçois le serveur pour démarrer sans aucun problème, mais je reçois 404 lorsque je tente de faire une demande.
La configuration de mon serveur, c'est comme le suivant:
public void start() throws Exception {
if (server == null) {
server = new Server(PORT);
server.setStopAtShutdown(true);
wac = new WebAppContext();
wac.setContextPath("/app");
wac.setResourceBase("war");
wac.setClassLoader(this.getClass().getClassLoader());
server.addHandler(wac);
server.start();
}
}
Est-il quelque chose de mal avec ma config? Le serveur est en cours d'exécution, et je peux voir que je suis frapper, il ne peut tout simplement pas trouver toutes les ressources.
OriginalL'auteur stevebot | 2011-03-10
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement besoin de définir cette servlet comme une ressource dans votre descripteur de déploiement (web.xml ou jetty-web.xml). Juste une supposition; une erreur 404 indique que votre code ne fonctionne pas à tous, et n'est donc pas le problème. Le problème est survenu avant votre code a même une chance de s'exécuter.
OriginalL'auteur Travis Webb
C'est un système complet de test Junit classe qui utilise la jetée:
OriginalL'auteur Christian Achilli
J'ai commencé avec l'extrait de code dans le premier post, puis a commencé à me frayer un chemin à travers. Le code ci-dessous enfin fonctionné pour moi:
POM ressemble à ceci:
server.start();
aprèsserver.addHandler(webAppContext);
.OriginalL'auteur OlliP
Je pense que vous avez oublié de mettre:
Ou mieux, utiliser le constructeur:
OriginalL'auteur Binil Thomas