0

BDD テストでは、日付を比較しています。日付を比較するときは文字列です。両方の日付が同じであっても、このメッセージが表示され、テストは失敗します

オブジェクトは「01/20/2012 12:00:00 AM」であると予想されていましたが、「1/20/2012 12:00:00 AM」が見つかりました。

もう1つ、これは私のシステムでのみ発生します。別の開発者にテストの実行を依頼すると、テストは問題なくパスします。不足しているタイプの設定はありますか?

そのコード部分は

            customer["DateOfBirth"].Should().Be(Helper.DateOfBirth.ToString());

customer はハッシュ テーブルです。この特定のステートメントは、他のマシンではOKを渡しますが、私のものではありません。

文字列比較の代わりに日付比較に変更することで修正できることはわかっています。しかし、これは他のマシンでは問題ないので、興味がありました。

4

2 に答える 2

6

BDD テストでは、日付を比較しています。日付を比較するときは文字列です。

それはあなたの問題のように聞こえます。私の推測では、デフォルトのカルチャで書式設定された日付を、他のカルチャで手動で書式設定された日付と比較していると思います。

DateTime解決策は、フォーマットされた値に依存するのではなく、代わりに値との比較を実行することです。値が異なる場合は、テスト ランナーが両方の値をフォーマットできるようにします。

于 2012-10-30T14:47:05.727 に答える
3

日付の形式が異なります。1 つは先頭に 0 があります。

同じようにフォーマットするか、実際のDateTime値を直接比較する必要があります。

于 2012-10-30T14:47:07.070 に答える