1

テストしているXMLがあり、その要素の1つとして日付と時刻が設定されています。これは明らかに、テストが実行されるたびに変更されます。

XMLを比較して、このノード値を無視する方法、または正規表現などでチェックする方法はありますか?

私がテストしているXMLは次のとおりです。

<xml-fragment>
    <core:date xmlns:core="http://www.company.com/commerce/common/V1/core">2010-06-24T21:41:22.456+01:00</core:date>
    <core:serviceName xmlns:core="http://www.company.com/commerce/common/V1/core">calculateNextAndFuturePayments
    </core:serviceName>
    <core:ackRequired xmlns:core="http://www.company.com/commerce/common/V1/core">false</core:ackRequired>
    <v1:viewingCardNumber xmlns:v1="http://www.company.com/commerce/calculateNextAndFuturePayment/V1">405536053
    </v1:viewingCardNumber>
</xml-fragment>

最初の要素(core:date)が日付形式であることを確認したいのですが、値は平等の目的には関係ありません。

ありがとう

4

1 に答える 1

5

つまり、コードでXMLを生成していますがnew Date()、現在の日付/時刻を取得するようなものを使用していますか?他の依存関係と同じように、依存関係としてクロックを挿入することをお勧めします。このようにして、コードが「今」と考える時間を制御し、予測可能なXMLをテストすることができます。

時計を注入することは、私の経験では本当に便利であり、信じられないほど簡単です。and(本番用)および(テスト用)Clockのラインに沿った実装とのインターフェースを持つことをお勧めします。SystemClockFakeClock

現在の時刻をミリ秒で表す場合でも、(私の好み)Joda DateTimeからの何かで表す場合でも、依存関係を分離するための良い方法です。

于 2010-06-24T21:45:53.453 に答える