在Java中,源代码包和测试包之间有什么区别?给定一个包含几个Java类文件和manifest.mf文件的Java项目......如何识别一个类是属于源包还是测试包?创建它们的意义是什么?源码包和测试包之间有什么区别?
2
A
回答
0
源包包含您的Java类,接口,枚举和注释类型文件。也就是说,任何带有.java扩展名的东西。这个包包含你的应用程序逻辑。
测试包中包含您的Java测试类文件。这些包通常包含您的JUnit测试类文件。
请注意,Java语言规范不要求将Java源文件和其他文件组织到源包和测试包中。这纯粹是大多数开发人员遵循的惯例,并且正如Maven等流行构建工具的评论中所述。
创建它们的意义在于为Java项目提供某种组织。想象一下,您有数百个Java类文件:一些用于您的主要业务逻辑,另一些用于测试等,并将它们全部放在一个目录中。你的应用程序仍然可以编译,但是如果你必须在该目录中找到一些代码,至少可以说是乏味的。在主要的Java项目中,通常有数千个Java文件。如果没有这些文件的组织,开发人员的生产力将受到严重阻碍。
+1
另一个重要的原因是测试类不会被编译到最终的jar或war artefact中。主“src”目录中的类对测试类(甚至大多数情况下甚至是测试框架)都没有可见性,但测试类可以看到主类。 – slipperyseal 2015-02-10 04:44:04
相关问题
- 1. JAR和包之间有什么区别?
- 2. 构建路径和源代码包有什么区别?
- 3. 测试和包含在Webpack 2中有什么区别?
- 4. yarn.lock和npm的包装锁之间有什么区别?
- 5. Swift包和模块之间有什么区别?
- 6. Hubot包和Hubot脚本之间有什么区别?
- 7. android.opengl和javax.microedition.khronos.opengles包之间有什么区别?
- 8. 使用Zend Framework,模块和包装之间有什么区别
- 9. “数据包”和“交易”之间有什么区别?
- 10. Linux中的insmod模块和rpm包之间有什么区别
- 11. 测试方法和测试标签inTestng之间有什么区别
- 12. UI级别测试和API级别测试有什么区别?
- 13. Docker包和docker-compose有什么区别?
- 14. 库和包有什么区别?
- 15. Java包:`oracle.AQ`和`oracle.jdbc.aq`有什么区别?
- 16. “dart:html”和“dart:dom”包有什么区别?
- 17. dll和nuget包有什么区别?
- 18. 测试和规格有什么区别?
- 19. “层”和“层”之间有什么区别?
- 20. Tableau和QlikView之间有什么区别
- 21. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之间有什么区别?
- 22. @Entity和@embeddable之间有什么区别
- 23. ContentObservable和DataSetObservable之间有什么区别?
- 24. touchmove和gesturechange之间有什么区别?
- 25. :notification.flags和notification.defaults之间有什么区别?
- 26. proc和lambda之间有什么区别?
- 27. :: after和after之间有什么区别?
- 28. read()和io.read()之间有什么区别?
- 29. Request()和Request.Form()之间有什么区别?
- 30. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之间有什么区别?
Java本身没有这样的源码包和测试包的概念。您可能指的是构建工具(如Apache Maven)所采用的_conventions_。 – 2015-02-10 04:10:10
我发现Netbeans在从现有源文件中创建Java项目时所作的区分。我无法理解它。 – giffy 2015-02-10 04:16:26
@giffy Netbeans(与其他IDE一样)有很多快捷方式与知道你在哪里放置源代码和测试相关联。例如,创建或运行当前课程的测试很容易。如果你坚持惯例,它将使这些工具更容易使用。 – sprinter 2015-02-10 04:35:56