我意識到在運行導致問題的arquillian測試用例期間,會使用一些未添加到我的shrinkWrap存檔中的類。我的Arquillian測試用例中提供了哪些類別的應用程序?
我在我的應用程序配置的引導功能,像這樣
公共無效啓動(@Observes StartupEvent startupEvent, 的ExternalContext的ExternalContext,應用程序, ProjectStage deltaspikeProjectStage)
簽名(當JSF準備就緒並且正在運行時,會發送startUpEvent)並且不會添加ShrinkWrap,但是當我運行測試用例時,它們會調用我的引導功能。 這個不必要的通話毀了每一件事。當我評論這個函數時,我的測試用例工作正常。
我在想,可用類爲我的測試用例應該被添加到拆封檔案與命令一樣
WebArchive webArchive= ShrinkWrap
.create(WebArchive.class, "ROOT.war")
.addClasses(CdiTestBean.class,PersistenceListener.class)
但似乎我錯了。我應該怎麼做才能讓一個課程無法使用shrinkWrap檔案!
您的完整測試和網絡存檔如何顯示?你使用什麼類型的Arquillian容器?是否有例外?你能提供更多的上下文嗎? – Hardy
讓我再次解釋這個問題,在我的應用程序中,我有一個使用Observer監聽JSF的引導函數(你可以在這個問題中找到這個函數)。當我運行我的tomcat並加載應用程序時,該函數將被調用。我的問題是,當我運行我的arquillian測試用例時,這個函數也在調用(我不想調用它)。我沒有將啓動函數添加到我的ShrinkWrap存檔中,因此如何找到arquillian測試用例並調用此啓動函數!我在嵌入式tomcat7上使用Arquillian與CDI和Hibernate – Yashar