我们应该像在.Net中一样创建Java源代码和Junit测试作为java中的不同项目吗? [关闭]

问题描述 投票:1回答:1

在Java中,我已经看到了在不同包中的同一项目中进行测试和源代码的做法。但现在有人要求我将Java源代码作为一个不同的项目,并将测试从主项目中取出,并将其作为一个单独的测试项目,如.net,并在项目中提供该源jar的引用。

请参阅以下是我们遵循的一般做法

SRC >>主要>> >> Java的COM >> FOO >> Sample.java

测试>>主要>> >> Java的COM >> FOO >> SampleTest.java

但是现在有人让我创建一个项目

SRC >>主要>> >> Java的COM >> FOO >> Sample.java

作为一个项目然后使测试像Java项目一样将上面的jar引用到您的测试项目中(将该jar添加到库中或在构建文件中添加依赖项)来执行测试用例。

测试>>主要>> >> Java的COM >> FOO >> SampleTest.java

你认为这是一个可行的解决方案吗?

我们应该遵循这样的做法。

java junit powermockito
1个回答
1
投票

由于您提到Java,因此基于Java的项目通常会在同一项目(maven / gradle)中进行Junit测试。您的源代码和测试代码结构如下所示:

src
│  
── main
     └── java
         └── com
              └── foo
│                 ├──Sample.java
│     
│       
└── test
     └── java
          └── com
               └── foo
                   └── SampleTest.java

使用同一项目中的source和junit,您将能够更好地与代码和单元测试相关联。此方法允许测试访问所测试类的所有公共和包可见方法。

这也是标准maven / gradle目录布局的一部分,其中项目相同但文件夹是分开的。

根据需求,可以在单独的项目中存在一组通用的集成或功能测试。

你也可以参考Junit FAQ谈论组织测试。

保持简单,您可以通过将单元测试保持在同一个项目中来开始,并考虑在真正需要时将其分开。

© www.soinside.com 2019 - 2024. All rights reserved.