8

XMLUnit for C++ のようなものが存在するかどうかは誰にもわかりませんか? XML 出力でノード、値などを確認する簡単な方法を探しています。Visual Studio で Google テストを使用していますが、作業を容易にするライブラリであれば十分であると思います。

私は Xerces を XML パーサーとして使用していますが、XMLUnit ( http://xmlunit.sourceforge.net/ ) には、単体テストに非常に役立つ XML パーサーにラップされたいくつかの機能があります。たとえば、XPath 式、2 つの「類似した」XML を比較する関数などを使用してアサートします。

4

6 に答える 6

1

過去にこれを達成するために、Xerces と CPPUnit の組み合わせを使用しました。私のテスト ケースでは、setUp() 関数で Xerces API を使用して DOM オブジェクトを作成します。この DOM は、期待される結果を表します。テスト ケース自体では、XML ファイルを読み取り、テスト対象のクラスがファイルの内容を表す DOM オブジェクトを設定します。同等性を確認するには、Xerces API (DOMTreeWalker) を介して 2 つの DOM ツリーを調べ、DOM ノードの内容を比較する際に CPPUnit アサーションを使用します。少し面倒でしたが、当時は XmlUnit を模倣できるフレームワークがありませんでした。Google Test は、このタスクを達成するために CPPUnit と同じように機能すると思います。

Xerces API は、XPath 式をいくつかサポートしています。

http://xerces.apache.org/xerces-c/faq-parse-3.html#faq-2

検証のために、ここで説明されているようにエラー ハンドラーを設定し、それをテスト ケースに組み込む必要があります。

Xerces C++ でのドキュメントの検証

XSLT 変換チェックには、Xalan を使用する必要があります。Xerces で動作するので、大きな問題はないと思います。

http://xalan.apache.org/old/xalan-c/index.html

XMLUnit のような操作を C++ でパッケージ化した明らかな製品を見つけることができませんでした。したがって、答えは、自分でロールバックする必要があると思います。幸運を。

于 2013-01-11T16:58:31.297 に答える
0

私は本当にhttp://pugixml.org/が好きです

これ:

  • 安定している
  • 非常に高速です
  • 優れたドキュメントとサンプル コードがあります
  • MITライセンスの下でライセンスされています
  • 非常にSTLフレンドリーです
  • まだかなり活発なプロジェクトです
  • xpath を強力にサポート
于 2012-07-31T23:30:17.213 に答える
-1

ここでtinyxmlパッケージを使用できます:tinyxml

私はそれを使って作業しています、そしてそれはとてもフレンドリーでバグがありません。

これはxml処理です。単体テスト用に設計されたものではないと思いますが、xmlファイルをチェック/テストするために使用できます。予想どおり、xmlをDOMオブジェクトにロードし、ノードで実行するための優れたAPIを提供します。

ギャル

于 2009-02-16T16:11:00.427 に答える
-1

http://xerces.apache.org/xerces-c/のXercesはかなりフル機能で、C ++インターフェースを備えており、他のいくつかのXMLパーサーではうまく機能しない優れたエラーメッセージを生成します。そうは言っても、それはかなり大きく、CパーサーExpatの周りに独自のラッパーを使用することになりました。

于 2009-02-16T16:17:36.103 に答える
-1

私は xml に Boost property_tree を使用しています。使いやすく、かなり堅牢で、Boost 単体テスト フレームワークとうまく連携します。

于 2012-07-31T17:48:48.040 に答える
-1

私は現在、私の個人的なプロジェクトに libxml++ を使用しています。

于 2009-02-19T01:45:15.800 に答える