簡體   English   中英

項目布局和春季測試支持問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM