簡體   English   中英

在 Eclipse 中為 spring 運行單元測試時將 src/main/resources 添加到類路徑

[英]Add src/main/resources to classpath when running unit test in eclipse for spring

在 Eclipse 中,我的 maven 項目有一個“src/main/resources/”文件夾和一個“src/test/resources”文件夾。 兩個目錄的內容似乎都進入“Project/target/classes”,而“src/test/resources”目錄的內容進入“Project/target/test-classes”。

當我在測試時使用 spring 加載類路徑資源時,它似乎只有類路徑上“test-classes”文件夾中的內容可用。 這是有道理的,因為只有測試資源進入類路徑進行測試。

但是,我希望我的主要資源在運行單元測試時也可用,但是在運行單元測試時無法找到它們,因為它們不在類路徑中。 我如何配置我的方式來解決這個問題?

您可以配置 surefire 插件(這是 maven 用來運行單元測試的)以包含任何其他類、jar 或資源目錄。

http://maven.apache.org/plugins/maven-surefire-plugin/examples/configuring-classpath.html

使用TestNG測試一個包含MyBatis的項目時,可能在xml文件中找不到異常

org.apache.ibatis.binding.BindingException:無效的綁定語句(未找到):

  1. 假設你的MyBatis對應的xml文件都放在src/main/resources/mapper下
  2. 編譯后,target/classes 文件夾將包含映射器文件夾
  3. target/test-classes 文件夾中沒有 mapper 文件夾! 所以報錯

解決方法在pom.xml文件中,將Test的resources目錄指向src/main/resources

    <build>
        <testResources>
            <!--測試的時候直接讀取src/main/resources的資源文件-->
            <testResource>
              <directory>${project.basedir}/src/main/resources</directory>
            </testResource>
        </testResources>
    </build>

中文說明 中文說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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