如何使用C#重新排序ITestCaseCollection

时间:2015-04-20 03:32:08

标签: c# linq tfs

我目前正在编写一些程序来从TFS服务器下载测试用例信息。我们的用户需要按照所需的顺序下载测试用例。

当前程序正在使用这段代码从选定的测试套件中下载测试用例集合中的所有测试用例信息。但是,默认排序是由TFS服务器系统测试场景/诉讼ID =>测试用例ID。我们的用户希望根据Test Scenario / suit name =>对其进行排序。改为测试用例名称。

private ITestCaseCollection testCases;

private void Get_TestCases(ITestSuiteBase testSuite)         {

        this.testCases = testSuite.AllTestCases;
        if (NoSubSuite.Checked == true)
        {
            this.testCases.Clear();
            foreach (ITestSuiteEntry tse in testSuite.TestCases)
            {
                if (tse.EntryType == TestSuiteEntryType.TestCase)
                {
                    if (tse.TestCase != null)
                    {
                        testCases.Add(tse.TestCase);

                    }
                }
            }


        }
    }

如何按名称实现排序? 我找到了ITestCaseCollection的扩展方法,称为orderby。但我不知道如何使用它,我也无法在MSDN上找到相关文档。有人可以帮忙吗? testCases.OrderBy extension method

1 个答案:

答案 0 :(得分:1)

您可以使用List<TestCase>这样的内容获得您想要的订单OrderBy

var list = testCases.OrderBy(t => t.ScenarioName)  /* or whatever properties */
                    .ThenBy(t => t.Name)
                    .ToList();

我不知道如何从中构建ITestCaseCollection,但您可能不需要这样做。