我想使用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。我用一个真实的现有示波器编号尝试了这段代码,并抛出了同样的错误,这导致我相信我错过了真正的问题。