Question

(Désolé pour le titre étrange, ne suis pas venu avec rien de mieux ..)

Historique

J'utilise nunit-console pour tester mes ensembles. Il est appelé comme celui-ci (simplifié):

function Test-ByNunit {
    param($assembly, $tempFile = 'c:\temp\nunit.xml')
    & <path-to-nunit-console> $assembly /nologo /xml:$tempFile @othparam 
}
Test-ByNunit c:\temp\myAssembly.dll

Je n'ai aucun problème avec cela, il fonctionne très bien.

Problème

nunit-console devrait afficher ses messages comme jusqu'à présent. Cela signifie - sinon capturé, il doit les envoyer à l'écran, sinon il pourrait être stocké dans le fichier (Test-ByNunit $dll | set-content path)

Je voudrais revenir en quelque sorte des informations sur chaque cas de test qui a été exécuté (l'information est stockée dans le fichier / xml) sous forme de tableau d'objets PSObject.

Question

Avez-vous une astuce comment retourner l'info et laisser encore sortie nunit ses messages?
Si je vous écris simplement à la sortie, la fonction retourne tableau de chaînes (sortie nunit-console) et un ensemble de mes objets. Ensuite, la redirection vers un fichier de sortie stocke mes objets aussi bien, mais je voudrais juste les afficher dans la fenêtre de la console.

La seule possibilité qui pourrait fonctionner est d'utiliser [ref], mais je voudrais éviter.

(ce qui est non seulement nunit-console, mais bien sûr, il est question d'ordre général)

Était-ce utile?

La solution

Si je suis la bonne tâche alors Out-Host devrait aider:

function Get-WithOutHost {
    # external output is redirected to the host
    cmd /c dir | Out-Host
    # normal output to be reused later
    Get-Process
}

# call    
$result = Get-WithOutHost

# now $result holds the data to use, external output is on the screen

EDIT: Bien sûr, cela ne suffit pas si la sortie externe doit être réutilisée, aussi, non seulement montré

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top