J'ai un bâtiment du projet Python avec Hudson. La plupart des tests unitaires fonctionnent correctement, mais tous les tests qui nécessitent écrire dans le système de fichiers (j'ai une classe qui utilise des fichiers tar, par exemple) ne peuvent pas trouver le répertoire tmp que j'ai configuré pour le traitement intermédiaire (mes méthodes tearDown supprimer tous les fichiers sous le répertoire tmp).Hudson incapable de naviguer dans les répertoires relatifs
Voici ma structure de projet:
- src
- essais
- accessoires (fichiers statiques ici) unitaires
- (tests unitaires ici)
- tmp
- essais
Voici un exemple d'erreur:
OSError: [Errno 2] No such file or directory: '../../tmp'
Je suppose que cela se produit parce que Hudson ne traite pas les fichiers alors que dans le répertoire unité, mais plutôt un autre répertoire de travail.
Quel est le répertoire de travail de Hudson? Peut-il être configuré? Les chemins relatifs peuvent-ils fonctionner?
J'ai ajouté le répertoire tmp manuellement car mes tests unitaires le nettoient à chaque tearDown. J'ai également veillé à appeler nosetests avec le drapeau -w: nosetests -w tests/unit --with-xunit –
Si c'est vraiment un répertoire temporaire qui est seulement utilisé par le test, il doit être créé par le setUp et supprimé par le tearDown de ce même test. Je refuse toujours d'ajouter des répertoires temporaires ou de résultats au SCM. – cringe
@cringe - Bon conseil; J'ai révisé mes tests unitaires pour utiliser un répertoire tmp approprié au lieu de celui associé à un code source. –