2016-01-28 5 views
4

С Team Foundation Server, учитывая WorkItem типа «Test Suite», как я могу написать запрос для выбора всех тестовых случаев, связанных с этим тестовым пакетом?В TFS, как найти все тестовые примеры в тестовом комплекте с запросом (C#)?

+0

Программно, посмотрите [этот пост в блоге] (http://blogs.microsoft.co.il/shair/2010/07/06/tfs-api-part-27-test-plans-test-suites-test -cases-отображение /). Может намекнуть на решение, которое выполняется только с помощью запросов. – Chase

+0

Вы имеете в виду программно или просто использовать инструмент Query builder? и вы используете онлайн TFS или в помещениях. –

+0

Инструмент построения запросов. И да, используя это как в онлайн-интерфейсе, так и в программе. – whoknows

ответ

1

К сожалению, ссылки на рабочие элементы не созданы между Test Plans, Suites и Cases. Поэтому, хотя они являются рабочими элементами, у них нет ссылок. Это означает, что запрос по умолчанию невозможен.

Работает tagging all test cases в люксе с названием номера. Затем вы можете использовать a query that filters on the work item tags.

Вы можете пойти еще дальше и автоматизировать создание тегов с помощью некоторой магии Web Hooks and Azure Functions (или некоторых других размещенных API). Это позволяет создать веб-хук, который прослушивает создание (или обновление) для тестовых случаев. Используя некоторый код, упомянутый в других сообщениях, вы можете получить тестовый комплект тестового примера, а затем использовать REST API, чтобы добавить его в качестве тега в тестовый пример.

+0

Я думаю, что ты прав. В настоящее время мы делаем подобное обходное решение. В нашей настройке вместо пометки тестового примера с именем (мы используем теги для чего-то еще), мы создаем связь между статическим набором и добавляемым тестовым случаем. Затем мы можем запросить эти сюиты, а дети из них будут тестовыми. Я рассмотрю автоматическое создание через веб-крючки, хотя это может быть лучше, чем наше текущее автоматизированное решение. Спасибо за идею! – whoknows

1

Возможно, вам потребуется использовать этот интерфейс ITestSuiteBase.

AllTestCases 

    Gets the read-only collection of test cases for this suite and all hierarchical children. 

TestCases 

    Gets a read-only collection of test cases. 

Более подробную информацию от MSDN

Вот пример кода:

public static List<TestCase> GetAllTestCaseFromSuite(ITestPlan testPlan, int suiteId, bool includeExecutionStatus = true) 
{ 
    List<TestCase> testCases = new List<TestCase>(); 
    testPlan.Refresh(); 
    ITestSuiteBase currentSuite = testPlan.Project.TestSuites.Find(suiteId); 
    currentSuite.Refresh(); 
    foreach (var currentTestCase in currentSuite.TestCases) 
    { 
     TestCase testCaseToAdd = new TestCase(currentTestCase.TestCase, currentSuite, testPlan, includeExecutionStatus); 
     if (!testCases.Contains(testCaseToAdd)) 
     { 
      testCases.Add(testCaseToAdd); 
     } 
    } 
    log.InfoFormat("Load all test cases in the suite with Title= \"{0}\" id = \"{1}\"", currentSuite.Title, currentSuite.Id); 
    return testCases; 
} 

Подробнее вы можете передать этот блог: Manage TFS Test Cases C# Code

+0

Мне нужен запрос только на основе решения – whoknows

0

Если вы используете TFS 2015 или выше,

вы можете проверить эту ссылку:

  1. usage

  2. TestCaseExplorer Tool

  3. list-bugs-and-the-test-cases-that-test-them enter image description here

, если не с помощью TFS 2015 или выше:

Пока нет способа создать обычный TFS-запрос через веб-интерфейс, а не вызов API или настраиваемое кодирование, чтобы получить список тестовых случаев, относящихся к определенному тестовому набору. support-querying-for-all-test-cases-in-a-specifed

Или попробуйте старый инструмент: test-plans-test-suites-test-cases-mapping

+0

Спасибо за ответ, но я не вижу, где он показывает, как запрашивать тестовые примеры в рамках данного набора тестов. Это TFS 2015. Я действительно начинаю думать, что это невозможно. – whoknows

0

«Показать тесты из детских люксов» вариант, который вы хотите. To see the screenshot click here. Нет необходимости в запросе. Как указано в названии опции, в нем перечислены все дочерние тесты из пакета. Для этого вам может понадобиться плагин TFS менеджера Tester.

+0

Это, кажется, просто показывает все тестовые примеры детских сюитов, для которых я не собираюсь. В этом случае запрос sweet не будет иметь дочерних наборов, но запрос одного или нескольких статических наборов и набора на основе запроса должен содержать все тестовые примеры тестовых наборов, включенных в запрос. – whoknows