Je suis un test unitaire d'une application basée sur Play Framework. Comme je l'ai lu dans la documentation, pour le bien de compensation de l'Etat, avant chaque test, je recharger la liste des lieux comme celui-ci:NullPointerException lors de la réexécution d'un test
@Before
public void setUp() {
Fixtures.deleteAll();
Fixtures.load("data.yml");
Logger.info("FIXTURES RELOADED");
}
Puis je vais à la plate-forme de test Web.based (http://localhost:9000/@tests)
, choisissez un test traite avec l'extraction de certaines données (User u = User.findById(1l);)
, puis affirmer contre les données. Ça marche.
Cependant, si je tente de sélectionner à nouveau le test et exécutez à nouveau, il échoue avec:
A java.lang.NullPointerException has been caught, Try to read name on null object models.User
Si je me arrête complètement l'application et le redémarrer, il fonctionne à nouveau (la première fois), mais commencer et s'arrêter prend un peu de temps et est assez fastidieux, si vous le faites 10 fois par minute.
J'utilise Jouer 1.2.5
Est-ce que setup() est appelé pendant chaque exécution? –
Où insérez-vous votre objet utilisateur dans la base de données? – BobTheBuilder
essayez '@ BeforeMethod' - au lieu de' @ Before'. – SudoRahul