1

xml ファイルから TFS2010 にテスト ケースをインポートすると、例外が発生します。しかし、何が間違いなのかについての情報はありません。

"Work item 0 is invalid and cannot be saved. Exception: 'TF237124: Work Item is not ready to save'."

xml からインポートされたデータの何が問題なのかを判断するにはどうすればよいですか?

using System.Text.RegularExpressions;
  using System.Xml;
  using Microsoft.TeamFoundation.Server;
  using Microsoft.TeamFoundation.WorkItemTracking.Client;
  using System;
  using System.Linq;

  internal class Program
  {
    // Input File
    private static TestLink testLink = new TestLink("E:\\dev\\TestLinkToTfs\\testsuites.xml");

    // Target TFS server
    private static Tfs tfs = new Tfs("http://host:8080/tfs/Test", "Test");

    private static void Main(string[] args)
    {
        var testLinkTestCase = testLink.GetTestCases().Take(1).ToList();
        var steps = testLinkTestCase.Descendants("step");
        var testCase = tfs.Project.TestCases.Create(tfs.Project.WitProject.WorkItemTypes["Test Case"]);
        testCase.Title = testLinkTestCase.Attribute("name").Value;

        var summary = testLinkTestCase.Descendants("summary").ToList();
        var issueId = TestLink.GetLinkedIssueId(summary);

        var regEx = new Regex(@"[^a-zA-Z0-9 -]");
        var grandParentName = regEx.Replace(testLinkTestCase.Parent.Parent.Attribute("name").Value, string.Empty);
        var parentName = regEx.Replace(testLinkTestCase.Parent.Attribute("name").Value, string.Empty);

        var area = string.Format(@"Test\Test Cases\{0}\{1}", grandParentName, parentName);

        testCase.CustomFields["Assigned To"].Value = string.Empty;
        testCase.Area = area;

        Tfs.AddSteps(steps, testCase);

        testCase.Save();
      }

      Console.ReadKey();
    }
  }
}
4

1 に答える 1

1

作業項目 ID が 0 の場合、これは動的に作成され、一部のフィールド値が無効であることを意味します。メソッドを試す必要があります

workitem.validate();

ワークアイテムを保存してコードをデバッグする前に。これにより、無効なデータを含む正確なフィールドがわかります。これに使用するコードと xml を投稿すると、より役立つ可能性があります。

于 2013-04-09T23:27:17.237 に答える