Dans un projet basé sur un projet de semences angulaires, je suis en cours d'exécution des tests d'unité avec ./ scripts / test.sh-log-niveau de débogage code> mais aucun des messages du journal que je vois ne vient pas de mon application. Comment puis-je les voir? Dans mon application, je suis enregistré avec
$ journal code>. P>
3 Réponses :
Vous avez travaillé! Avais-je utilisé console.log code> directement il aurait fonctionné mais maintenant que j'utilise
$ journal code> Je devais le corriger dans un
avant code> (regarde Comme par défaut, il n'a pas été câblé par angularjs):
merci. Comme mentionné, les tests peuvent injecter console code> pour
$ journal code> à l'aide de
$ fournir code>. Pour la postérité,
$ fournir code> n'est pas disponible via
injecter (fonction (...) {...}) code> mais doit être injecté dans un argument de fonction sur
Module code>
: beforeEach(module('myapp', function($provide) {
// Output messages
$provide.value('$log', console);
}));
@Carl ne devrait-il pas obtenir de crédit pour cette réponse? Je suppose que non, je n'ai pas regardé les horodatages. Nm
Oui, j'ai construit sur la réponse antérieure car il n'était pas évident pour moi comment remplacer correctement le service code> journal code> dans un test. Comme mentionné ici, $ fournir code> doit être injecté à l'aide du module code>.
Pour plus de clarté, vous devez la structurer comme ceci:
beforeEach(module('myapp')); beforeEach(module('myapp', function($provide) { // Output messages $provide.value('$log', console); }));
Dans le terminal, vous ne pouvez voir que Console.log () les appels définis dans votre fichier de spécifications, pas dans votre application.
Voir ma réponse ci-dessous. Je dois voir mes journaux d'applications.