2016-06-03 6 views
0

Ich versuche, alle Testläufe innerhalb eines bestimmten Teamprojekts abzufragen. Die Abfrage funktioniert, enthält jedoch nur einige der Ergebnisse. Unten ist die Liste der letzten Läufe. Die für DEV fragen gut ab, aber die für QA kommen in der Abfrage nicht durch. . Leider sind die QA diejenigen, die einzigen, die mich interessiertAbfrage aller Testläufe mit QueryTestRuns()

TFS Run List

Hier ist der Code Ich habe zur Zeit:

// Get the catalog of team project collections 
CatalogNode catalogNode = configurationServer.CatalogNode; 
ReadOnlyCollection<CatalogNode> tpcNodes = catalogNode.QueryChildren(
    new Guid[] { CatalogResourceTypes.ProjectCollection }, 
    false, CatalogQueryOptions.None); 

CatalogNode teamProject = null; 

// List the team project collections 
foreach (CatalogNode tpcNode in tpcNodes) 
{ 
    // Use the InstanceId property to get the team project collection 
    Guid tpcId = new Guid(tpcNode.Resource.Properties["InstanceId"]); 
    tpc = configurationServer.GetTeamProjectCollection(tpcId); 

    if (tpc.Name == TPC_NAME) 
    { 
     teamProject = tpcNode; 
     break; 
    } 
} 

if (teamProject == null) 
    throw new Exception(string.Format(@"Missing team project collection '{0}'", TPC_NAME)); 

_testManagementService = tpc.GetService<ITestManagementService>(); 

// Get the test runs 
IEnumerable<ITestRun> testRuns = _testManagementService.QueryTestRuns(string.Format("select * From TestRun")).OrderByDescending(x => x.DateCompleted); 

foreach (var testRun in testRuns) 
{ 
    Console.WriteLine("Test run: '{0}'", testRun.Title); 
} 

Dies ist mit VS und TFS 2015

Warum kommen nur einige Builds durch? Gibt es eine andere Art der Abfrage oder gibt es einen versteckten Filter, von dem ich nichts weiß? Ich wollte mir das TFS-Schema ansehen, für den Fall, dass noch eine andere Tabelle vorhanden ist, aber anscheinend ist das unmöglich, weil Microsoft uns wachsam vor uns selbst schützt.

Antwort

0

Ich kann auch nicht die Testläufe für verteilte Tests mit der Client-Bibliothek API erhalten. Und ich benutze die Rest API, um sie als Alternative zu bekommen.

+0

Ich habe diesen Vorschlag an ein oder zwei anderen Orten gesehen, und es scheint die einzige Möglichkeit zu sein, dies zu umgehen, die ich derzeit finden kann. Seufzer. – Dan

0

Es ist nichts falsch mit Ihrem Code. Es scheint im Zusammenhang mit Sicherheitsaspekten zu stehen: "View test runs" ist die erforderliche Berechtigung zum Anzeigen aller Testobjekte. Ohne diese Berechtigung erhalten Benutzer kein Ergebnis von einer Abfrage zurück. Testobjekte, die an Area-Knoten gebunden sind, unterliegen ebenfalls der Area-Node-Berechtigung. Wenn Benutzer A beispielsweise keine Leseberechtigung für den Bereichsknoten X hat, werden die Testobjekte in Knoten X nicht als Teil der Abfrageergebnisse zurückgegeben.

+0

Mein TFS-Administrator versichert mir, dass ich alle notwendigen Berechtigungen dafür habe ... Ich frage mich derzeit, ob dies daran liegt, dass die QA-Builds verteilt werden und niemand wusste, wie man den Publish-Test durchführt Ergebnisse Schritt, so wurde es deaktiviert. Es fällt mir schwer, ein Beispiel dafür zu finden, wie es auch ausgefüllt werden sollte. – Dan

Verwandte Themen