Node.jsはこれを本当に簡単にします。テストメソッドでサーバーを作成し、そのテストメソッドで接続するクライアントを作成できます。それは非常にきれいになるでしょう。
あなたのクライアント/サーバー通信には、ある種のメッセージング/通信契約があります。ですから、TDDでは、このメッセージ/データセットなどから始め、そのテストを書くことになります。私は、サーバーにカスタムロジックを実行できるようにTCPサーバーをカプセル化させるのが好きです。
ですから、このようなものかもしれません:
のTest1を:
describe('MyServer', function(){
it('should respond with an acknowledgment of receiving my move command', function(done){
var server = new MyServer();
server.listen(9000);
var json = '{"player": "1", "tile": "3"}' //player 1 puts an 'X' in tile 3
client = net.connect(9000, function(){
client.write(json);
});
client.on('data', function(data){
//** your tests here to validate YOUR CUSTOM server response **
//example assuming your server sends JSON
serverResponse = JSON.parse(data.toString());
assert(serverResponse.tilesRemainingCount, 5); //completely custom
server.close();
done();
});
});
}
は全くその助けをしていますか?それは私がそれをやってきた方法です、そしてそれは素晴らしいです。何かが明確でない場合はお知らせください。私はそれをクリアしようとします。
また、私はCoffeeScript開発者ですので、JS構文でエラーが発生している可能性があります。
代わりに、TJのExpressoの進化です(ExpressoのGitHubから:「Expressoの後継者であるMochaをチェックしてください」)。質問そのものに関しては、TCPサーバーへの呼び出しをテストする必要がありますが、実装自体(TCP呼び出しとは別にテストの対象にする必要があります)とは別に行う必要があります。 – mna
私はモカの使用に完全に同意します。私はモカが大好きです。 –