node.js を使用して GET および PUT リクエストに応答する RESTful Web API を作成しました。API のテストで問題が発生しています。最初にZombie.jsを使用しましたが、十分に文書化されていないため、PUT リクエストを作成できませんでした。
var zombie = require("zombie");
describe("description", function() {
it("description", function() {
zombie.visit("http://localhost:3000/", function (err, browser, status) {
expect(browser.text).toEqual("A")
});
});
});
その後、restlerと呼ばれる REST クライアントを使用してみましたが、高度なブラウザー シミュレーションは必要ないため、これで問題ありません。これは、リクエストが非同期のように見えるため失敗します。つまり、「成功時」コールバックが呼び出される前にテストが終了するため、テストは役に立ちません。
var rest = require('restler');
describe("description", function() {
it("description", function() {
rest.get("http://www.google.com").on('complete', function(data, response) {
// Should fail
expect(data).toMatch(/apa/i);
});
});
});
代替のテスト フレームワークや同期リクエスト クライアントに関するヒントをいただければ幸いです。