2

gen_tcpソケットを使用して通信する2つのgen_serverがあります。

最初のgen_serverは関数をエクスポートし、呼び出されるとRFC 791パケットをビルド(別の関数を呼び出す)し、他のgen_serverが着信接続をリッスンしているソケットに接続してパケットを送信します。

私はこれをシェルでテストしましたが、機能していますが、そのようなコードをテストするための適切なツール/方法は何でしょうか?eunitを使用する必要がありますか、それとも他のより適切なツールがありますか?

さらに、実際に何をテストすればよいのか知りたいのですが。送信部分だけですか、それともパケット構築のための機能ですか?

4

1 に答える 1

3

すべての gen_servers に対していくつかの EUnit テストを確実に作成できます。

http://www.erlang.org/doc/apps/eunit/chapter.html

http://learnyousomeerlang.com/eunit#the-need-for-tests

Common Test を見て、相互作用をテストすることもできます。

http://www.erlang.org/doc/apps/common_test/basics_chapter.html

http://learnyousomeerlang.com/common-test-for-uncommon-tests#what-is-common-test

実装は渡されたデータに大きく依存するため、QuickCheck Mini または PropEr によって提供されるジェネレーターを調べます。

http://www.quviq.com/

http://proper.softlab.ntua.gr/

QuickCheck mini などを使用して単体テストを改善する方法についての簡単な説明は、次の場所にあります。

http://www.erlang-solutions.com/upload/docs/85/EUG-London-Apr2011.pdf

まず、エクスポートする関数 (モジュール インターフェイス) のテストに焦点を当てます。後でさらにテストを追加することもできます。

于 2012-07-25T09:49:58.407 に答える