[英]project layout and spring-test support issues
我們的項目布局如下。
src
src /測試/ java
src / test / resources
由於早期開發已經完成,因此我們無法為代碼添加src / main /(java,resources)。
src / test / java與src文件夾中的被測類在同一個程序包中包含單元測試和集成測試。
在當前設置中,單元測試運行良好,但是集成測試運行存在問題。
當測試類和配置文件與被測類一起位於src文件夾中且與類相同的程序包時,集成測試運行得很好。
但是當我將測試類放在src / test / java中並將配置文件放在src / test / resources中時,由於上下文初始化問題,測試無法運行。
請注意以下有關環境設置
1為所有src構建輸出文件夾,src / test / java和src / test / resources僅是src文件夾。
2我正在使用classpath *:指定配置位置,否則spring無法在資源文件夾中找到配置文件。
@ContextConfiguration(locations={"classpath*:applicationContext_getCorpAcctPrefDetailsSP.xml"})
3嘗試了@Autowired和基於setter的DI來測試類
> (i). in case of @Autowired i get error for depedency saying
No unique bean of type GetCorpAccountPreferencesDetailsSP is defined expected at least 1 matching bean
also i am using base package scan
> (ii). in case of Setter based DI context get initialized and unit test run but all the dependencies injected are null in test class.
請說明可能是問題的原因以及任何解決方案。
當集成測試位於被測類旁邊的src文件夾中時,一切工作正常。
我懷疑當spring作為被測類創建上下文不在與test相同的源文件夾中時,differect源文件夾(src和test)創建問題。
謝謝nBhati
在運行時,Spring不在乎(或不知道)原始源代碼所在的文件夾。重要的是類路徑-哪些編譯文件和哪些資源文件夾放在類路徑中。 如果您遇到關於在運行測試時找不到的XML文件的錯誤,則強烈建議在運行測試時這些XML文件不在類路徑中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.