1

Apache XMLBeans(org.apache.xmlbeans.XmlObjectを拡張するXML構造要素のインターフェース、org.apache.xmlbeans.impl.values.XmlComplexContentImplを拡張するインターフェースの実装)を使用するアプリケーションを使用しています。

私は次のような機能を手に入れました:

  • XMLオブジェクトは、いくつかのデータを含むメソッドに渡されます
  • このデータに基づいて、このXMLオブジェクトのサブコンテンツが生成されます
    • XMLオブジェクトのaddFoo()を使用して要素などを追加する

この機能をテストしたいのですが、このXMLオブジェクトをテストするための最良の方法がわかりません(スタブ/モックオブジェクトでサブツリーの状態を簡単にテストできるようにしたいと思います) 。いくつかのオプション:

  • これらのFooImpl実装オブジェクトをインスタンス化しようとしましたが、org.apache.xmlbeans.SchemaTypesTypeへの参照が必要です。
    • これらをインスタンス化する方法はありますか?
    • null /モックされたSchemaTypeを指定すると、何かが追加されたときにNPEになります
  • いくつかの必要なメソッドを使用してスタブクラスを生成することは機能しますが、生成するメソッドが多数(> 100)になることになります
  • Mockitoを使用することは別の方法でも機能しますが、xmlツリー構造の状態を簡単にテストするには、doAnswer()などを使用する必要があります。

いくつかのアイデア?

br、トウコ

4

2 に答える 2

3

答えは非常に簡単であることに気づきました。xmlbeansインターフェースには、Beanをインスタンス化するためのファクトリクラスがあります。次に例を示します。

Address.Factory.newInstance()
于 2012-07-31T10:07:59.887 に答える
2

私はこれがあなたが探している答えではないことを知っていますが、とにかくここに行きます:

自分で管理していないタイプをあざけるな

参照:

あなたへの質問:あなたは何をテストしようとしていますか?そのApacheXMLBeanは期待どおりに機能しますか?または、XMLツールを作成していますか?

于 2012-07-31T10:07:51.570 に答える