我想使用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。我用一個真實的現有示波器編號嘗試了這段代碼,並拋出了同樣的錯誤,這導致我相信我錯過了真正的問題。