2014-05-21 25 views
1

我想使用VersionOne .Net SDK創建一個新測試,並將迴歸測試作爲父項進行測試。此代碼拋出就行_services.Save(newAsset)如何使用VersionOne .Net SDK通過父迴歸測試創建新的驗收測試

Violation'Required'AttributeDefinition'Parent'Test: NULL這是我使用的代碼:

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; 
    } 

我密切關注exampele這裏找到:https://github.com/versionone/VersionOne.SDK.NET.APIClient#learn-by-example-new-asset

在這個例子之前的段落,作者「當您在APIClient中創建新資產時,您需要指定另一個將作爲父資產的資產的」上下文「,例如,如果您創建新的」資產「資產,您可以指定應在其中創建哪個範圍」。

在該示例中,parentAssetType設置爲"Scope:0"。但是,我認爲它應該是已有資產的特定ID。我用一個真實的現有示波器編號嘗試了這段代碼,並拋出了同樣的錯誤,這導致我相信我錯過了真正的問題。

回答

2

從測試的詳細信息頁面(在故事或缺陷下創建)下,在「編輯」下拉列表中可以選擇「生成迴歸測試」作爲該工作項目。

此外,根據「產品規劃」標籤是對一個鏈接「迴歸測試」頁面。在這裏,您可以創建與您正在使用的項目或子項目關聯的新迴歸測試,並顯示從工作項生成的迴歸測試。

一旦你創建了迴歸測試,你可以去「發佈計劃」標籤>然後到「迴歸計劃」頁。在此創建迴歸計劃>新測試套件>然後分配到創建的套件的迴歸測試。

*注意:直接爲故事或缺陷創建的測試不會顯示用於選擇分配給測試套件的測試,只有通過迴歸測試頁面或從測試詳細信息頁面工作項目。

將測試添加到套件後,可以生成測試集以包含可執行驗收測試以及分配給該套件的迴歸測試。

**備註** **迴歸測試或測試不能成爲家長測試或兒童測試。

我希望這會有所幫助。

1

您將不得不使用PrimaryWorkitem(Story,Defect)作爲父項來創建測試。 RegressionTests不包含「測試」。有一個例外,因爲RegressionTest可以在名爲「GeneratedFrom」的屬性中持有對測試的引用。這可以引用RegressionTest從中生成的測試。