1

NUnit を使用して C#.NET で記述されたいくつかのテスト ケースを実行しています (これは Visual Studio 2010 上にあります)。私が使用している方法では、別の開発チームから提供された Excel .xls (2003) ファイルからユーザー データとアドレス データを読み取ります。Excel ファイルを変更せずにテストを実行すると、すべてが正しく機能します。また、姓名や住所など、Excel ファイルの値の一部を変更しても機能します。ただし、郵便番号フィールドを変更すると、テストが失敗し、次のようなエラーが表示されます。

「System.ArgumentException: タイプ 'System.DBNull' のオブジェクトをタイプ 'System.Double' に変換できません」

これは、まったく同じ値を入力しても発生します。つまり、既存の郵便番号の値が " 11111" で、ファイルをまったく変更しない場合、テストを実行するとテストが機能します。しかし、そのフィールドを変更して " 11111" を再入力すると、リーダーはそれを NULL 値と見なし、上記のエラーをスローします。スプレッドシートの他の行 (私が変更していない行) では、値が " 11111.0d" として返され、すべてが機能するため、リーダーはこれらの値を Double として読み取っているように見えます (理由はわかりません)。 . しかし、自分で値を入力すると、そのように読み取られません。

私が読んだある記事IMEX=1では、接続文字列で使用して、混合値をテキストとして読み取ることを提案しました。しかし、これはうまくいきませんでした。を追加するとIMEX=1"Could not find installable ISAM"メッセージが表示されました。

助けてくれてありがとう。

4

1 に答える 1