Azure DevOps Server 2019 Программная копия ошибки контрольного примера Исключение: 'TF237124: рабочий элемент не готов к сохранению'. " - PullRequest
0 голосов
/ 01 мая 2020

Я могу скопировать большинство тестовых случаев с этим кодом (пытаясь скопировать общие шаги, чтобы быть частью самого тестового примера), но этот не будет копировать, но я не вижу сообщения об ошибке, почему - может кто-нибудь предложить что-нибудь еще, чтобы попробовать. Смотрите вывод из Immediate windows. Спасибо Джон.

?targetTestCase.Error
null
?targetTestCase.InvalidProperties
Count = 0
?targetTestCase.IsDirty
true
?targetTestCase.State
"Ready"
?targetTestCase.Reason
"New"

foreach (ITestAction step in testSteps)
        {
            if (step is ITestStep)
            {
                ITestStep sourceStep = (ITestStep)step;
                ITestStep targetStep = targetTestCase.CreateTestStep();
                targetStep.Title = sourceStep.Title;
                targetStep.Description = sourceStep.Description;
                targetStep.ExpectedResult = sourceStep.ExpectedResult;

                //Copy Attachments
                if (sourceStep.Attachments.Count > 0)
                {
                    string attachmentRootFolder = _tfsServiceUtilities.GetAttachmentsFolderPath();
                    string testCaseFolder = _tfsServiceUtilities.CreateDirectory(attachmentRootFolder, "TestCase_" + targetTestCase.Id);
                    //Unique folder path for test step
                    string TestStepAttachementFolder = _tfsServiceUtilities.CreateDirectory(testCaseFolder, "TestStep_" + sourceStep.Id);

                    using (var client = new WebClient())
                    {
                        client.UseDefaultCredentials = true;
                        foreach (ITestAttachment attachment in sourceStep.Attachments)
                        {
                            string attachmentPath = TestStepAttachementFolder + "\\" + attachment.Name;
                            client.DownloadFile(attachment.Uri, attachmentPath);
                            ITestAttachment newAttachment = targetTestCase.CreateAttachment(attachmentPath);
                            newAttachment.Comment = attachment.Comment;
                            targetStep.Attachments.Add(newAttachment);
                        }
                    }
                }
                targetTestCase.Actions.Add(targetStep);
                targetTestCase.Save();
            }

1 Ответ

0 голосов
/ 04 мая 2020

Поскольку этот код работает для большинства тестовых случаев, эта проблема может возникать в конкретном тестовом примере. Чтобы сузить проблему, попробуйте следующие элементы:

  1. Запустите код на другом клиентском компьютере, чтобы увидеть, работает ли он.
  2. Попробуйте изменить этот конкретный тестовый пример, используя API учетной записи использует, чтобы увидеть, может ли оно быть успешно сохранено.
  3. Попробуйте проверить WorkItem перед сохранением. Метод validate () вернет массив неверных полей.
...