問題
テスト結果として TestStand に戻すために、C# でコンテナーの配列を作成しようとしていますが、このタスクを達成する簡単な方法はないようです。
動機
C# ではList<Dictionary<string,object>>
、テスト システムの結果が含まれており、それらの結果をテスト レポートに表示したいと考えています。にDictionary<string,object>
は、さまざまなタイプの可変数の要素があります。
試みられた解決策
与えられた場合:
var result = sequenceContext.AsPropertyObject().EvaluateEx(destination, EvaluationOptions.EvalOption_NoOptions);
どこ
- sequenceContext は NationalInstruments.TestStand.Interop.API.SequenceContext です
- destination は、結果を TestStand レポートに保存する場所です。つまり、Step.Result.TestResultDestination です。
result
コンテナの配列を に追加するために、次のようないくつかの異なる方法を試しました。
var newPropertyObject = sequenceContext.Engine.NewPropertyObject(PropertyValueTypes.PropValType_Container, true, string.Empty, PropertyOptions.PropOption_InsertIfMissing);
result.SetPropertyObject("TestResultDestination", PropertyOptions.PropOption_InsertIfMissing, newPropertyObject);
result.SetFlags("TestResultDestination", PropertyOptions.PropOption_NoOptions, PropertyFlags.PropFlags_IncludeInReport | PropertyFlags.PropFlags_IsMeasurementValue);
これにより、コンテナーの配列が結果に追加されますが、要素をコンテナーの配列に挿入しようとすると、例外が発生します。
考え?