簡體   English   中英

如何在不同的項目中重用來自 /src/test/java 的類?

[英]How to reuse classes from /src/test/java in different project?

我在公共庫中有一個類,我將其放入/src/test/java 然后我想在任何具有公共庫作為依賴項的項目中重用該類。

但是無法導入文件。

常用自定義庫:

/src/test/java/com/myproject/utils/TestfileReader.java

實施項目:

<dependencies>
    <dependency>
        <groupId>com.myproject</groupId>
        <artifactId>my-commons</artifactId>
        <version>1.0.0</version>
    </dependency>

用法:

/src/test/java/com/myproject/itest/SomeTest.java

import com.myproject.utils.TestfileReader;

結果:無法解析導入。

但是如果我將該文件復制到/src/main/java/...它可以正確找到。 所以我的公共圖書館總體上似乎沒問題。

問題:如何使該文件僅對我的測試可見,同時將其保存在/src/test/java文件夾中?

您可以通過為 test-jarscope 指定類型來完成此操作。

<dependency>
    <groupId>com.myproject</groupId>
    <artifactId>my-commons</artifactId>
    <version>1.0.0</version>
    <type>test-jar</type>
    <scope>test</scope>
</dependency>

你可以控制你的 src/test 文件夾下的資源是否會被運送,例如通過maven-resource-plugin見這里: http : //maven.apache.org/plugins/maven-resources-plugin/testResources-mojo .html

此處的示例將在src/test/java下找到的所有源復制到您的最終構建中。

<testResources>
  <testResource>
    <directory>${project.basedir}/src/test/java</directory>
  </testResource>
</testResources>

您可以執行以下操作:

  • 從要在不同項目中共享的項目創建一個 jar 文件。
  • 通過提供組 ID、工件 ID 和版本,將此 jar 文件用作依賴項。
  • 請記住在您的外部依賴項中添加此 jar 文件的索引。

絕對可以的..

首先,您需要導航到Build Path-->Configure Build Path--> Source tab

然后在 Source 選項卡中search/check [your Project Name]/src/main/java並更改

"contains test sources"從“否”到“是”並保存。

這將成功解決從“src/test/java”導入包到“src/main/java”的問題

暫無
暫無

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

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