私はうっとうなhtmlコンポーネントから呼び出される、機能するWCMUsePojo Groovyクラスを持っています。 Prosper設定メソッドの内容に基づいてテスト用のWCMUsePojoクラスのインスタンスを作成しようとしています。Prosperの仕様でWCMUsePojoのインスタンスを作成するには?
これは基本的にHow can I create an instance of WCMUsePojo in a servlet for a specific page?と同じタイプの質問ですが、私はそれが答えではないと考えています。これは具体的には、Prosperフレームワーク内のWCMUsePojoクラスのテスト方法をどのようにするかについてです。 Sightlyのdata-sly-use属性に相当するJavaまたはGroovyはありますか?
def setupSpec() {
pageBuilder.content {
page_with_new_gridwrapper {
'jcr:content'{
'gridpar' {
'my_gridwrapper'('sling:resourceType':'my/components/my_gridwrapper') {
}
}
}
}
}
}
def "Test Page with New Grid Container"(){
Page page = pageManager.getPage("/content/page_with_new_gridwrapper")
// the following 2 lines return null :-(
// but I would prefer these to return an object with the type MyGridContainerHelper
MyGridContainerHelper cmp = page.getContentResource().getChild("gridpar/my_gridwrapper").adaptTo(MyGridContainerHelper.class)
Component cmp2 = WCMUtils.getComponent(page.getContentResource().getChild("gridpar/my_gridwrapper"))
expect:
page != null //passes
page.getContentResource().getChild("gridpar/my_gridwrapper") != null //passes
cmp != null // fails
cmp2 != null // fails
cmp.resourceType == "my/components/my_gridwrapper" // fails
}
答えをありがとう。プロジェクトには多くのWCMUseクラスがあり、それらをすべてSling Modelsに変換する準備が整っていません。今後、私はこのソリューションを確かに考えていきます。元の質問は既存のWCMUseクラスのテストを追加することだから、おそらく私のSimpleBindingsの回答を受け入れることになるでしょう。 –