[Seasar-user:13721] Re: [S2JUnit4]空白を含むテストデータでのassertEqualsの動作について
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2008年 4月 14日 (月) 13:41:30 JST
中村(taedium)です。
> テストクラスのbeforeメソッドでsetTrimStringにfalseを設定し、
> Excelの期待値のセルに"ABCD "(最後に1つスペースを含む。ダブルクォートも入力)
> と入力。
> 実際の値はABCD(最後にスペースなし)となっているときassertEqualsに成功してしまいます。
私の環境でも再現しました。
> 詳細にみていくと、S2testCase.assertEquals内で
> ct.equals(expectedValue, actualValue)
> がtrueを返しているのが問題なように見えます。ちなみにここでの値は
> expectedValue="ABCD "
> actualValue="ABCD"
> です。
ここの比較でsetTrimStringメソッドで指定した設定が
活かされていないのが原因のようです。
(デフォルトでトリムするようになっているので
そちらの動作になってしまっています)
> どのようにすれば、このような場合にassertEqualsが失敗するようになるのでしょうか?
Seasar2のプログラムを直すのが早いと思います。
2つのファイルを修正してみました(添付します)。
こちらで試してみてください。
--
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: S2TestCase.java
型: application/octet-stream
サイズ: 20376 バイト
説明: 無し
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080414/3311e1d4/attachment-0002.obj
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: DataRowImpl.java
型: application/octet-stream
サイズ: 7163 バイト
説明: 無し
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080414/3311e1d4/attachment-0003.obj
Seasar-user メーリングリストの案内