1

問題

テスト結果として 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);

これにより、コンテナーの配列が結果に追加されますが、要素をコンテナーの配列に挿入しようとすると、例外が発生します。

考え?

4

1 に答える 1