我发布这个是因为它可能对使用 VersionOne API SDK 客户端的人有所帮助。我想以编程方式将测试状态更改为以下类别之一:Ready、InTesting、Passed 或Failed。我最初试图更改属性“Status.Name”,但是我会收到一个错误,即该属性是只读属性。另一个建议是创建一个具有相同名称的新属性,并且新属性将覆盖以前具有相同名称的只读属性。但是,看来我是在向后看。
internal void TestStatusPassed(string str_TestID)
{
var testId = Oid.FromToken(str_TestID, _context.MetaModel);
var query = new Query(testId);
var testType = _context.MetaModel.GetAssetType("Test");
var sourceAttribute = testType.GetAttributeDefinition("Status.Name");
query.Selection.Add(sourceAttribute);
var result = _context.Services.Retrieve(query);
var test = result.Assets[0];
var oldSource = GetValue(test.GetAttribute(sourceAttribute).Value);
test.SetAttributeValue(sourceAttribute, "Passed");
_context.Services.Save(test);
}
此代码将引发异常“无法更改只读属性”...