1

Excel(2003)を使用して単体テストのデータを提供する場合、セルの値がTRUE / FALSEの場合、先行するセルの値がない場合はnullであると考えられるようです。

 if (TestContext.DataRow["SatisfactionExtremelySatisfied"] != DBNull.Value)
      model.SatisfactionExtremelySatisfied = (bool)TestContext.DataRow
      ["SatisfactionExtremelySatisfied"];

サンプルExcelデータ

DataRow  SatisfactionExtremelySatisfied
0
1
2                 TRUE
3                 TRUE

OLEDBを使用してテストデータを読み取る場合、TRUEのセルは値を保持しませんが(デバッグで検査する場合)、前のセルに値FALSEが入力されると、値は正しくTRUEになります。

私は何かが足りないのですか?

4

1 に答える 1

2

簡素化する。

Excelスプレッドシートをプレーンテキストの.csvファイルとして保存し、テストフレームワークに読み取らせます。それ以外の場合は、Excelからの読み取りのニュアンスをトラブルシューティングすることにより、テストを複雑にします。

于 2010-05-02T16:12:38.187 に答える