VersionOne .Net SDK を使用して、回帰テストを親として新しいテストを作成したいと考えています。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"
ます。ただし、既存のアセットの特定の ID であると思われます。実際に存在するスコープ番号でこのコードを試してみましたが、同じエラーがスローされたため、実際の問題を見逃していると思いました。