2011-12-22 1 views
0

J'utilise l'interface utilisateur codée pour exécuter le test et obtenir le fichier de résultat du test nommé comme qian_machinename 2011-12-21 14_26_10. Je veux lire le fichier et envoyer un rapport de test. Ma question est comment puis-je obtenir l'heure du fichier chaque fois que j'exécute les tests?Fichier de résultat du test de l'interface utilisateur codée

+0

pouvez-vous être plus explicatif sur vos démarches de le faire. Je veux dire, comment vous générez le fichier de test. Pourquoi ne pouvez-vous pas stocker l'heure de choisir comme un nom de fichier pour un fichier à un autre code où il peut choisir le fichier et générer un rapport. Veuillez fournir des informations plus claires. Merci – Zenwalker

+0

Vous voulez le fichier dès qu'il est créé? –

+0

@zenwalker Désolé pour le manque de clarté. Ma structure de code est comme ceci: [Test Mothod] public void test() {...} Ensuite, une méthode appelle la méthode de test. Et le test s'exécute automatiquement puis le fichier de résultats de test créé automatiquement par VS2010. Je veux juste un moyen d'obtenir le nom de fichier généré ou si je peux renommer le fichier, ce sera génial. – QianLi

Répondre

1

TestContext a 3 propriétés que vous pouvez utiliser 1. TestDir 2. TestDeploymentDir 3. TestResultsDirectory.

Vous pouvez utiliser ces propriétés pour accéder au dossier qui vous intéresse et obtenir le fichier résultat pour votre traitement.

+0

Merci, ces propriétés ont l'information dont j'ai besoin. Mais j'ai essayé et trouver d'autres questions, je ne peux pas utiliser ces propriétés en dehors de [Test Mothod] et le message d'erreur est "Référence d'objet non définie sur une instance d'un objet." Mon code est comme ceci: public class Test { chaîne publique resultFile = null; [Méthode de test] public void T1() { int i = 1; Asser.AreEqual (i, 1); ResultFile = TestContext. TestResultsDirecroty; } } Pouvez-vous m'aider? Merci – QianLi

1

Qianli,

Peut-être que vous pouvez obtenir le fichier de sortie correcte en utilisant un pré-fix connu sur le nom du fichier de sortie de test.

Dans Visual Studio navigate Test-> Modifier les paramètres de test -> (Sélectionnez vos .testsettings actifs) -> Général

Dans l'invite qui affiche, vous verrez une zone de schéma de nommage. Par défaut, il est défini pour nommer votre fichier de sortie "USER @ MACHINE DATE TIME". Vous pouvez créer un schéma défini par l'utilisateur et l'utiliser pour localiser le fichier, c'est-à-dire stocker "MyTestOuput" comme pré-fix, puis plus tard dans le code, vous pouvez vérifier la date et l'heure de création du fichier.

Screenshot of Visual Studio 2010 TestSettings

1

utiliser quelque chose comme: = FileName testContext.ResultsDirectory + "\" + testContext.TestName.ToString() + "extension."

  1. Nomtest devrait être le nom du testMethod Comme "T1".
  2. L'extension peut être n'importe quel type de fichier valide, par ex. .xml etc.
0
[TestCleanup()] 
    public void MyTestCleanup() 
    { 
     string nomfichiersource = "UITestActionLog.html"; 
     string nomTest = TestContext.TestName.ToString(); 
     string sourcefile = System.IO.Path.Combine(TestContext.TestResultsDirectory, nomfichiersource); 
     string destfile = System.IO.Path.Combine(@"X:\Temp", nomTest + ".html"); 
     System.IO.File.Copy(sourcefile, destfile); 
    } 
Questions connexes