这里的 C# 开发人员正在研究基本的 Java 示例。在我看到的教程中,JUnit 测试用例似乎与被测类打包在一起。是对的吗?在 C# 中,我们创建了一个新的测试项目 - 在 Java 中,通用模式肯定是相似的吧?
最佳答案
正如我在评论中所说,现在的事实标准是 Maven 结构,其中测试位于相同的 package
(C# 中的命名空间)但位于不同的源根目录下(src/main/java
和 src/test/java
),尽管您可以自由地将测试放在任何您想要的地方。
然而,将测试放在同一个包中有一些好处,因为 Java 可见性规则意味着测试可以访问 protected
和 package private 方法,允许它是对被测类的更多安葬(这不是你应该一直依赖的东西,但它时不时地有用)。
无论如何,我离题了,结构看起来像这样:
my-project
+ src
+ main
| + java
| + com
| + company
| + MyNewClass
+ test
+ java
+ com
+ company
+ MyNewClassTest
在 Java 世界中,拥有外部构建工具是常态,Maven是这个月的当前 flavor 。大多数 IDE 都支持它,它们在与 Maven 同步时会识别此结构。项目文件 (pom)。
这并不意味着如果你不使用 Maven 就不能使用这个结构,您只需手动将其他源代码根目录添加到 IDE 项目/模块。
在 IntelliJ 中,您可以在源选项卡上的项目设置 -> 模块中执行此操作。您在 Eclipse 中做了类似的事情,但不确定确切的路径(肯定有人会在评论中添加方法:-)
关于java - JUnit 测试用例真的应该放在被测类旁边吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23547229/