1

大量の既存コードを含む新しいプロジェクトの作業を開始したばかりですが、テストに合格していません。私はどちらかというと Nunit 派なので、Xunit の障害点についてはすぐにはわかりません。

問題は、次のようなコードにあります。

fooStringProperty = readSomeFile;
//later
fooStringProperty.ShouldBe(expectedContents)

上記のコードは、次のようなエラーで失敗します。

error : Position: First difference is at position 0
Expected: contentsOfFooStringProperty      
Actual:
contentsOfFooStringProperty

基本的に、どういうわけかそこにこの改行を入れていますが、その方法はわかりません。コードベース全体でこれらの失敗がたくさんあり、他の人でも機能するので、xunitのバージョンの問題ではないかと思いますか?

編集: これは完全に mac と windows 間の CRLF の問題です。問題は解決しました:)

4

1 に答える 1

0

xUnit が改行を挿入している可能性は低いようです。まったく別の理由で、本当に不正な改行を持っている可能性が高いようです。

コードをデバッグし、デバッガーで値を確認して、これを診断することをお勧めします。アサーション行にブレークポイントを設定し、それが正しいかどうかを確認します。その時点で本当に壊れていると仮定して各値をフェッチ/読み取り/計算している場所にブレークポイントを置きます。基本的に、通常の手順を適用して予期しない動作を解決します。xUnit の側面は無視してください。

于 2011-10-21T14:18:30.080 に答える