加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – TFS 2015:为测试用例添加测试步骤

发布时间:2020-12-15 22:37:30 所属栏目:百科 来源:网络整理
导读:我正在尝试以编程方式创建测试计划,包括测试套件和测试用例.问题是在我的测试用例中添加测试步骤.此代码使用测试套件和测试用例正确创建了测试计划,但未在我的测试用例中创建测试步骤.我哪里错了? static void Main(string[] args) { try { var tfs = TfsHe
我正在尝试以编程方式创建测试计划,包括测试套件和测试用例.问题是在我的测试用例中添加测试步骤.此代码使用测试套件和测试用例正确创建了测试计划,但未在我的测试用例中创建测试步骤.我哪里错了?

static void Main(string[] args)
    {
        try
        {
            var tfs = TfsHelper.TryToAutenticated();
            var wis = tfs.GetService<WorkItemStore>();


            //TEST PLAN
            // Let's create a new Test Plan from scratch
            // Only the Name property is required to be set before
            // you can save,but we'll set a few extras here as well.
            ITestManagementService service = (ITestManagementService)tfs.GetService(typeof(ITestManagementService));
            ITestManagementTeamProject myTestManagementTeamProject = service.GetTeamProject("GammaEnterprise");
            ITestPlan newTestPlan = myTestManagementTeamProject.TestPlans.Create();
            newTestPlan.Name = "My Test Plan";                
            newTestPlan.Save();


            //TEST SUITE
            // Next let's add a new Test Suite to our plan
            // First,create a static suite (I'll cover Dynamic Suites
            // in a future post)
            IStaticTestSuite newSuite = myTestManagementTeamProject.TestSuites.CreateStatic();
            newSuite.Title = "My Suite";

            newTestPlan.RootSuite.Entries.Add(newSuite);
            newTestPlan.Save();


            //TEST CASE
            // Let's find the default configuration that was created when
            // we created our Team Project.  We'll need this to add some
            // tests to our new suite (or we could create a new one,but 
            // I'll keep things simple and just get the default one for now)
            ITestConfiguration defaultConfig = null;

            foreach (ITestConfiguration config in myTestManagementTeamProject.TestConfigurations.Query(
                "Select * from TestConfiguration"))
            {
                defaultConfig = config;
                break;
            }

            // I would typically check that defaultConfig is not null here
            // but for brevity sake will skip that.

            // Next we'll create a Testcase to add to our Test Suite
            ITestCase tc = myTestManagementTeamProject.TestCases.Create();
            tc.Title = "Verify X";             


            //HERE THE PROBLEM----------------------
            ITestStep ts = tc.CreateTestStep();
            ts.TestStepType = TestStepType.ActionStep;
            ts.Description = "Description";
            ts.Title = "Title";
            //---------------------------------------
            tc.Save();

            // Now let's add it to your suite,we still have our reference
            // to the static suite around so we'll use that
            // First we need an "IdAndName" object for our config
            IdAndName defaultConfigIdAndName = new IdAndName(defaultConfig.Id,defaultConfig.Name);

            // Now we'll set the default configs for our suite
            newSuite.SetDefaultConfigurations(new IdAndName[] { defaultConfigIdAndName } );

            // Now let's add that testcase
            newSuite.Entries.Add(tc);

            // Now let's save the plan (don't need to explicitly
            // save test suites).
            newTestPlan.Save();
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
            Console.ReadLine();
        }
    }

解决方法

您可以使用命名空间:Microsoft.TeamFoundation.TestManagement.Client

例如:

var step = testCase.CreateTestStep();
   step.Title = "Step 1 @param1";
   step.ExpectedResult = "Expect 1 @param2";
   testCase.Actions.Add(step);
   testCase.Save();

所以我认为你只需要在Actions中添加一步.

更多细节:

https://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.itestbase.actions.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读