0

QDomNode を取り、情報を std::map に抽出するメタ データ ローダーの単体テストに取り組んでいます。ここで、抽出したいすべての情報を保持する QDomNode を作成する必要があります。通常、このノードは xml ファイルから取得されるため、次のようにするとよいと考えました。

QDomNode metaNode()
{
  QDomDocument document;

  QByteArray metaArray(
    "<item name=\"author\">testManager</item>"
    "<item name=\"campaign\">testCampaign</item>"
    "<item name=\"comment\">testComment</item>"
    "<item name=\"date\">25.04.2013</item>"
    "<item name=\"description\">testDescription</item>"
    "<item name=\"projnum\">1</item>"
    "<item name=\"title\">test</item>");

  document.setContent(metaArray);
  QDomNode meta = document;

  return meta;
}

しかし、うまくいかないようです。meta.childNodes() を呼び出すと、7 つのアイテムのリストが期待されますが、最初のアイテムのみが取得され、名前は「author」、値は「testManager」です。

4

2 に答える 2

0

実際の test.xml ファイルを使用してもテストは改善されませんか? .xml ファイルを受け取って QMap を返すコードを実際にテストしたいので、テストでも .xml ファイルを使用する方がよいと思います。

于 2013-05-10T13:59:17.003 に答える