0

サードパーティのコンソール アプリケーションを介してヘッダー情報が tif に挿入されるシステムを更新するように依頼されました。私はそのビットについて心配する必要はありません。

ヘッダー情報を生成するマージプロセスを見てほしいと頼まれた部分です。

プロセスによって生成された現在のファイルは、変更を加える前に正しいと見なされるため、これを承認済みの結果として追加したいと思います。それから、行った変更によってファイルが期待どおりに変更されることを確認できます。

これは、 ApprovalTestsの使用を検討する良い機会になると思いました

私が抱えている問題は、何らかの理由でビデオへのリンクが破損していると見なされていることです (子猫が箱や何かに飛び込んでいるのを見せる可能性があります。これにより、作業が停止します。皮肉なことに、助けが見えないため、作業が遅くなります。ビデオ)。

私が見てきたのは、拡張機能Approvals.VerifyApprovals.VerifyFile拡張機能です。

しかし、起こっているように見えることは私を混乱させます。

を使用VerifyFileすると、受信したファイルが作成されますが、ファイルの内容は、確認するように要求したファイルの名前の行にすぎません。

usingは、承認済みとしてフラグを立てる必要があるファイルVerify(new FileInfo("FileNameHere"))を生成するようには見えませんreceivedが、承認済みの tif ファイルが見つからないというテストが返されます。

私はおそらくVerifyFile完全に間違った使い方をしており、Verify間違った使い方を見ているかもしれません。

有益な情報?

これはWindowsサービスとして実行されているレガシーアプリケーションであるため、サービスをハーネスでラップしてルーチンを呼び出すことができるため、ファイルはマシンの外部の別の場所に物理的に書き込まれていることを知っておくと役立つ場合があります制御します (構成はありますが、呼び出したサービスが成功すると、固定の場所にファイルが生成されます)。それを単体テストプロジェクトにコピーしようとしましたが、役に立たないようです。

4

1 に答える 1

1

Verify(File) と VerifyFile(string) はどちらも、既存のファイルを検証するためのものです。そのため、受け取ったファイルを渡されたファイルに設定するだけです。承認されたファイルを移動/承認/作成する必要があります。

擬似コードとプロセスは次のとおりです。

[UseReporter(typeof(DiffReporter), typeof(ClipboardReporter)]
public void TestTiff()
{
    string tif = YourProcessToCreateTifFile();
    Approvals.VerifyFile(tif);
}

[注: TortoiseDiff などの画像差分がインストールされていない場合は、FileLauncherReporter を使用することをお勧めします]

これを実行し、結果が得られたら、クリップボードをコマンド ウィンドウに貼り付けてファイルを移動します。ClassName.TestTiff.approved.tif という名前で、一時的な tif をテスト ディレクトリに移動します。

その後、何かが変わるまでテストに合格する必要があります。

ハッピーテスト!

于 2014-06-30T22:11:03.893 に答える