3

POP3操作を含むいくつかの新しいコードを書いています。私はテストを書くことができるデザインを考え出そうとしているので、それはかなり分離されており、私が書いている新しいコードのほとんどを実行します。

私が直面している問題は、電子メールにサードパーティのコンポーネントを使用している方法が正しいことを確認する必要があることです。これには、たとえば、障害のあるPOP3サーバーからの奇妙な応答のテストが含まれます。

現在、モックPOP3クライアントを使用しているので、クライアントがエラーまたは奇妙な応答を受け取る可能性のあるシナリオのロジックをテストできます。ただし、サードパーティのコンポーネントのアップグレードなどの後も、これらの仮定が正しいこと、および正しいままであることを確認する必要があります。

また、SMTPがあります。私はあなたがJavaの世界でDumbsterを持っていることを知っています。

Delphiでの私の代替手段は何ですか?通常の 容疑者を使用して、独自のカスタムミニサーバーを作成しますか?

4

1 に答える 1

2

さて、私はあなたが疑うことを確認する人になるのは嫌いですが、:

(a)独自に構築する必要があります(ニーズは人によって異なります。少なくともDelphiには、Java Dumpsterに相当するこの種の統合テスト用の標準的なフィクスチャはありません)。

(b)ICSとSynapseは優れているので、Indyを想定するべきではないと思います。それらのデモを使用すると、さらに速く欲しいと思うかもしれません...選択肢があれば、ICSを使用します。しかし、あなたがインディをよく知っているなら、それを使ってください。

(c)Linuxを実行している仮想マシンを使い続ける傾向があります。これは、実際に私の周りのISPで実際に使用されている種類のPOP3 / SMTPサーバーでテストするのが簡単で、気になっている場合は私がMSDNライセンスを持っていれば、おそらくWindows+Exchangeサーバー用のVMを作成します。

これはもはやユニットテストではないことを忘れないでください。これは統合テストです。プロセスではなくスレッドですべてを詰め込んだとしても、それはあなたがそこに持っている単体テストではなく、統合テストです。

すべての開発者がセットアップなしでテストできるようにしたい場合は、常に利用可能で、さまざまな標準ポートでさまざまな構成を持つQA-TEST-NETWORK BOXを作成します。統合テストは、ゼロの開発者PCワークステーションで実行できます。 LAN内でセットアップします。LANの外では、WAN環境では、これは非常に困難になります。

于 2012-05-10T14:18:09.100 に答える