Coldbox.system.testing.BaseTestCase
を拡張したテストでは、Coldbox RequestContextオブジェクトを簡単にモックできます。
this.loadColdbox=true
の変数を設定し、setup()
を呼び出すたびにsuper.beforeAll()
メソッドを呼び出すと、コンテキストが再構築されます。
その後、RequestContextはメソッドgetRequestContext()
で利用可能です。ここでは(私は通常、異なるHTTP動詞に応答するように構成されているモックAPIメソッドにこの方法を使用する)要求getHTTPMethod()
機能をあざけるの例です:
function newEventArgs(method = "GET") {
//rebuild the context
setup();
//mock the context
var event = getRequestContext();
prepareMock(event).$("getHTTPMethod", arguments.method);
var rc = event.getCollection();
var prc = event.getCollection(private=true);
prc.response = getWirebox().getInstance("APIResponse");
return {
"event":event,
"rc":rc,
"prc":prc
};
}
次に、あなたがそうのような作成方法をテストがあります
を
it("Tests Widgets.create", function(){
var testWidget = {
"name" : "Test Widget"
};
var eventArgs = newEventArgs("POST");
structAppend(eventArgs.rc, testWidget, true);
var event = execute(
route="/api/v1/widgets"
eventArgs=eventArgs
);
expect(event.getPrivateValue("response").getStatusCode()).toBe(201, "Event response did not return the proper status code.");
});
残念ながら私はあなたの質問に答えることはできませんが、おそらくドキュメンテーションを見て参考になります - [モックオブジェクトの作成](https://testbox.ortusbooks.com/content/mockbox/creating_a_mock_object.html) –