Как создать новый приемочный тест с родительским регрессионным тестом, используя VersionOne .Net SDK

1

Я хочу создать новый тест с регрессионным тестом в качестве родителя с помощью пакета VersionOne.Net SDK. Этот код вызывает Violation'Required'AttributeDefinition'Parent'Test: NULL " _services.Save(newAsset) Violation'Required'AttributeDefinition'Parent'Test: NULL на строке _services.Save(newAsset)

Это код, который я использую:

var parentAssetType = "RegressionTest";
var typeOfAsset = "Test"; 
var assetTitle = "My New Test";

public Asset AddNewAsset(string parentAssetType, string typeOfAsset, string assetTitle)
    {
        var projectId = Oid.FromToken(parentAssetType + ":0", _metaModel);
        Console.WriteLine(projectId.Token);
        var assetType = _metaModel.GetAssetType(typeOfAsset);
        var newAsset = _services.New(assetType, projectId);
        var nameAttribute = assetType.GetAttributeDefinition("Name");
        newAsset.SetAttributeValue(nameAttribute, assetTitle);
        _services.Save(newAsset);

        var newAssetId = newAsset.Oid.Token;
        var parentAssetId = newAsset.GetAttribute(assetType.GetAttributeDefinition(parentAssetType)).Value;
        var newAssetName = newAsset.GetAttribute(nameAttribute).Value;
        _logger.Log(Loglevel.Debug, "New Asset Id:{0} --- Parent Asset Id:{1} --- New Asset Name:{2}", newAssetId, parentAssetId, newAssetName);
        Console.WriteLine("New Asset Id:{0} --- Parent Asset Id:{1} --- New Asset Name:{2}", newAssetId, parentAssetId, newAssetName);

        return newAsset;
    }

Я внимательно слежу за экзаменом, найденным здесь: https://github.com/versionone/VersionOne.SDK.NET.APIClient#learn-by-example-new-asset

В параграфе перед примером автор объясняет: "Когда вы создаете новый актив в APIClient, вам нужно указать" контекст "другого актива, который будет родительским. Например, если вы создаете новый объект Story, вы можете указать который должен быть создан в ".

В примере parentAssetType имеет значение "Scope:0". Однако я думаю, что это должен быть конкретный идентификатор уже существующего актива. Я пробовал этот код с реальным существующим номером области, и эта же ошибка была брошена, что заставило меня поверить, что мне не хватает реальной проблемы.

Теги:
versionone

2 ответа

2
Лучший ответ

На странице сведений о тестах (созданной в разделе "История или дефект") в раскрывающемся списке "Изменить" есть опция "Создать тест регрессии" для этого рабочего элемента.

Кроме того, на вкладке "Планирование продукта" есть ссылка на страницу " Тесты регрессии ". Здесь вы можете создавать новые тесты регрессии, которые связаны с проектом или подпроектами, в которых вы работаете, а также отображать Тест регрессии, сгенерированный из рабочего элемента.

После того, как вы создали тесты регрессии, вы можете перейти на вкладку "Планирование выпуска" > и затем перейти на страницу "Планирование регрессии". Здесь вы создаете Регрессионный план> Новый тестовый набор>, а затем присвойте регрессионные тесты созданному набору.

* Примечание. Тесты, созданные непосредственно для Истории или Дефекта, не будут отображаться для выбора, чтобы назначить Test Suite, только тесты регрессии, созданные с помощью страницы регрессионных тестов или на странице сведений о результатах работы.

После того, как тесты были добавлены в набор, тестовые наборы могут быть сгенерированы с учетом исполняемых приемочных тестов, а также тестов регрессии, назначенных для пакета.

** ПРИМЕЧАНИЕ ** ** Регрессионные тесты или тесты не могут быть родительским тестом или детским тестом.

Надеюсь, это поможет.

1

Вам нужно будет создать свой тест с помощью PrimaryWorkitem (Story, Defect) в качестве родителя. Регрессионные тесты не содержат "Тесты". Существует одно исключение, так как RegressionTest может содержать ссылку на тест в атрибуте "GeneratedFrom". Это может относиться к тесту, из которого был создан регрессионный тест.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню