2014-06-30 1 views
0

Je tente de publier les résultats des tests à Microsoft Test Manager par TFS, mais je reçois l'erreur suivante lorsque vous tentez de publier les résultats via l'API TFS:Construire ne peut pas être trouvé lors de la publication des résultats de TFS

Microsoft.TeamFoundation.TestManagement.Client.TestObjectNotFoundException: 
Build vstfs:///Build/Build/### cannot be found. 

Je reçois mon plan de test et la création d'un essai the way Microsoft suggests:

plan = teamProject.TestPlans.Query(
    "SELECT * FROM TestPlan WHERE PlanName = '" + planName + "')[0]; 
ITestRun run = plan.CreateTestRun(true); 
run.AddTestPoints(testPoints, null); 
run.Save(); 

Alors, pourquoi est-il dire la construction ne peut pas être trouvé?

Répondre

1

Les builds sont périodiquement effacés du système, vous pouvez donc être sûr que vous êtes using the latest build. Vous pouvez alors obtenir les dernières URI de builds et les associer à votre run.

Uri GetLatestBuildURI(string projectName) { 
    Uri buildUri = null; 
    IBuildServer buildServer = _tfs.GetService<IBuildServer>(); 
    IBuildDetailSpec detailSpec = buildServer.CreateBuildDetailSpec(projectName); 
    detailSpec.MaxBuildsPerDefinition = 1; 
    detailSpec.QueryOrder = BuildQueryOrder.FinishTimeDescending; 
    IBuildQueryResult results = buildServer.QueryBuilds(detailSpec); 
    if (results.Builds.Length == 1) { 
     IBuildDetail detail = results.Builds[0]; 
     buildUri = detail.Uri; 
    } 
    return buildUri; 
} 

...

ITestRun run = plan.CreateTestRun(true); 
run.BuildUri = GetLatestBuildURI(projectName); 
run.AddTestPoints(testPoints, null); 
run.Save(); 
Questions connexes