Voici mon action dans le contrôleur. J'essaie de tester cette action via un test d'intégration. Cela nécessiterait que je moque aussi les objets de session. J'ai commencé avec le test d'intégration, mais je n'ai pas de chance avec ça.Erreur lors de l'exécution du test d'intégration avec la sortie JSON
def listData= {
def playerId=session["playerId”]
tuneInstanceList = tuneService.calculateId(playerId)
def listResult = [total: tuneInstanceList.size(), items: tuneInstanceList]
render listResult as JSON;
}
Ci-dessous est la méthode CalculateId dans ma classe de service:
List<Tune> calculateId(String playerId) {
try{
//read the sql file
String playerSql = grailsApplication.mainContext.getResource('classpath:' + Constants.PLAYER_FILE).inputStream.text
def sql = new groovy.sql.Sql(dataSource)
def params = [playerId:playerId]
def tuneInstanceList = new ArrayList<Tune>()
def results = sql.rows(playerSql, params)
tuneInstanceList = results.each {
def tune = new Tune()
tune.setPlayerId it.player_id
tuneInstanceList.add tune
}
return tuneInstanceList
}catch (Exception ex) {
log.error ex.message, ex
throw ex
}
//finally {
//sql.close()
//}
}
est Ci-dessous le test d'intégration que je l'ai écrit. Ce n'est pas correct et je ne suis pas sûr de ce que je devrais mettre ici. Contributions?
public void testQuery() {
def myController = new TuneController()
myController.request.contentType = "text/json"
myController.tuneService = tuneService
myController.listData()
String actualJSON = myController.response.contentAsString
assertNotNull(actualJSON)
}
Je reçois l'erreur ci-dessous lorsque j'exécute le test.
Impossible d'obtenir la propriété 'demande' sur l'objet null
java.lang.NullPointerException: Impossible d'obtenir la propriété 'demande' sur l'objet null
Pensées ??