No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
CanvasLifecycleHandler 実装のテスト
Canvas.Test クラスを使用して、キャンバスアプリケーションを実行せずに Canvas.CanvasLifecycleHandler.onRender() 実装をテストできます。
Canvas.Test を使用して、疑似アプリケーションおよび環境コンテキストデータで Canvas.RenderContext を作成します。疑似 RenderContext および CanvasLifecycleHandler 実装を使用して Canvas.Test.testCanvasLifecycle() をコールし、CanvasLifecycleHandler が正しく呼び出されることを確認します。
Canvas.Test.mockRenderContext() を使用して疑似 RenderContext を作成します。初期の疑似アプリケーションおよび環境コンテキストデータを指定するか、Canvas.Test でデフォルトの疑似データのセットを使用することができます。初期の疑似アプリケーションおよび環境コンテキストデータは 2 つのキー - 値ペアの対応付けで指定します。定義済みの Canvas.Test キー名定数をキーとして使用します。次の例では、アプリケーションコンテキストデータのアプリケーション名と、環境コンテキストデータのサブロケーションを設定します。
Canvas.Test で提供されるコンテキストキーの完全なリストは、『Force.com Apex コード開発者ガイド』の「テスト定数」を参照してください。
1swfobject.registerObject("clippy.codeblock-0", "9");Map<String,String> appValues = new Map<String,String>();
2appValues.put(Canvas.Test.KEY_NAME,'AppName');
3
4Map<String,String> envValues = new Map<String,String>();
5envValues.put(Canvas.Test.KEY_SUB_LOCATION,'mobileDevice');
6疑似 RenderContext ができたら、RenderContext と CanvasLifecycleHandler を使用して Canvas.Test.testCanvasLifecycleHandler() をコールできます。このコールは、ハンドラの onRender() メソッドを呼び出し、疑似 RenderContext をコンテキストデータとして渡します。
次の例では、テストクラスで Canvas.Test を使用しています。テストクラスには 3 つのメソッドがあります。
- testDefaultMockValues() は、デフォルトの Canvas.Test 疑似コンテキストデータを使用して MyCanvasLifecycleHandler を呼び出します。
- testOverriddenAppValues() は、カスタム疑似 RenderContext と疑似アプリケーション URL およびバージョンアプリケーションコンテキストデータを使用して MyCanvasLifecycleHandler を呼び出します。
- testOverriddenEnvironmentValues() は、カスタム疑似 RenderContext と疑似表示場所、場所 URL、およびカスタムパラメータ環境コンテキストデータを使用して MyCanvasLifecycleHandler を呼び出します。カスタムパラメータは、疑似 RenderContext が作成された後、Canvas.EnvironmentContext インターフェースを使用して設定されます。
1swfobject.registerObject("clippy.codeblock-1", "9");-@isTest
2global class MyCanvasLifecycleHandlerTest {
3
4 static testMethod void testDefaultMockValues(){
5 // Test handler using the default mock RenderContext Canvas.Test creates
6 MyCanvasLifecycleHandler handler = new MyCanvasLifecycleHandler();
7 Canvas.Test.testCanvasLifecycle(handler,null);
8 }
9
10 static testMethod void testOverriddenAppValues(){
11 // Test handler with some mock application context values
12 Map<String,String> appValues = new Map<String,String>();
13 appValues.put(Canvas.Test.KEY_CANVAS_URL,'https://myserver.com:6000/myAppPath');
14 appValues.put(Canvas.Test.KEY_VERSION,'3.0');
15
16 Canvas.RenderContext mock = Canvas.Test.mockRenderContext(appValues,null);
17 MyCanvasLifecycleHandler handler = new MyCanvasLifecycleHandler();
18 Canvas.Test.testCanvasLifecycle(handler,mock);
19 }
20
21 static testMethod void testOverriddenEnvironmentValues(){
22 // Test handler with some mock environment context values
23 Map<String,String> envValues = new Map<String,String>();
24 envValues.put(Canvas.Test.KEY_DISPLAY_LOCATION,'Chatter');
25 envValues.put(Canvas.Test.KEY_LOCATION_URL,
26 'https://myinstance.salesforce.com/_ui/core/chatter/ui/ChatterPage');
27 MyCanvasLifecycleHandler handler = new MyCanvasLifecycleHandler();
28 Canvas.RenderContext mock = Canvas.Test.mockRenderContext(null,envValues);
29 // Directly update the mock RenderContext and set the custom parameters
30 mock.getEnvironmentContext().setParametersAsJSON(
31 '{\"one\":1,\"two\":2,\"bool\":true,\"stringVal\":\"some string\"}');
32 Canvas.Test.testCanvasLifecycle(handler,mock);
33 }
34
35}