我正在使用一个 SDK,它可以查询一组数据以及使用名为 VersionOne 的宁静 Web 服务更新数据。我们使用 Web 服务来记录 QA 测试。每个测试都有“名称”、“状态”等属性。除“状态”外,大部分属性都已成功更新。
这是我正在调用的方法,当我逐步执行代码时,我可以获得旧值,但无法按预期更改属性值。错误说明“无法为只读属性分配新值”。
public bool TestInProgress()
{
var testId = Oid.FromToken("Test:26017", _context.MetaModel);
var query = new Query(testId);
var assetType = _context.MetaModel.GetAssetType("Test");
var testStatus = assetType.GetAttributeDefinition("Status.Name");
query.Selection.Add(testStatus);
var result = _context.Services.Retrieve(query);
var test = result.Assets[0];
var oldResult = GetValue(test.GetAttribute(testStatus).Value);
test.SetAttributeValue(testStatus, "Failed");
_context.Services.Save(test);
LogResult(test.Oid.Token, oldResult, GetValue(test.GetAttribute(testStatus).Value));
Console.WriteLine(test.Oid.Token, oldResult, GetValue(test.GetAttribute(testStatus).Value));
return true;
}
https://github.com/versionone/VersionOne.SDK.Net.APIClient#attribute-definition
根据 VersionOne SDK 文档,它看起来好像“只读”并且是一个属性。我已经查看了来自几个不同测试和测试集的不同属性,但没有看到它。我通过了正确的身份验证,并通过许多不同的测试成功更新了其他属性。但是,当我尝试以编程方式更改“状态”属性时,它说它是只读的。
https://github.com/versionone/VersionOne.SDK.Net.APIClient#learn-by-example-apiclient-setup
如何以编程方式更改 VersionOne 中当前为只读的资产的属性,以便可以使用 restful Web 服务更新属性?