如何在不同的项目中重用/ src / test / java中的类?

时间:2018-01-04 09:20:16

标签: java testing junit

我在公共图书馆中有一个班级,我将其放入#! /usr/bin/env python import radiusd import crowd cs = None app_url = '' app_user = '' app_pass = '' def instantiate(p): global cs cs = crowd.CrowdServer(app_url, app_user, app_pass) def authorize(p): reply = None config = None result = radiusd.RLM_MODULE_NOTFOUND values = dict(p) username = values['User-Name'] success = cs.get_user(username) if success: config = ( ( 'Auth-Type', 'crowd' ), ) result = radiusd.RLM_MODULE_OK return ( result, reply, config ) def authenticate(p): reply = None config = None result = radiusd.RLM_MODULE_REJECT values = dict(p) username = values['User-Name'] password = values['User-Password'] success = cs.auth_user(username, password) if success: reply = ( ( 'Reply-Message', 'Welcome!'), ) result = radiusd.RLM_MODULE_OK return ( result, reply, config ) 。然后我想在任何具有commons库作为依赖项的项目中重用该类。

但是无法导入文件。

通用自定义库:

/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/...文件夹中?

4 个答案:

答案 0 :(得分:2)

您可以通过指定test-jarscope的类型来完成此操作。

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

答案 1 :(得分:0)

您可以控制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>

答案 2 :(得分:0)

您可以执行以下操作:

  • 从要共享的项目中创建一个jar文件 不同的项目。
  • 通过给出将此jar文件用作依赖项 组ID,工件ID和版本。
  • 请记住添加此jar的索引 文件在外部依赖项中。

答案 3 :(得分:0)

绝对可以做到。

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

然后在“源”标签search/check [your Project Name]/src/main/java中进行更改

"contains test sources"从“否”到“是”并保存。

这将成功解决从“ src / test / java”到“ src / main / java”的导入包的问题