当前位置: 首页 > 面试题库 >

我应该将JUnit测试放在哪里?

刘和昶
2023-03-14
问题内容

关于组织单元测试,我有两个问题。

  1. 我是否必须将测试放在与测试类相同的程序包中,或者可以在不同程序包中组织测试?

例如,如果我具有 有效性其他 测试,即使它们属于同一班级,将它们分成不同的包是否正确?

  1. 模拟和存根类呢?我应该将它们与仅包含测试的软件包分开,还是放在一起?

问题答案:

我们执行JUnit测试用例的方法是将它们放在相同的包中,但放在不同的根目录中。由于我们使用Maven,因此只使用标准位置即可使结构类似于以下内容。

src/main/java/com/foo/Bar.java
src/test/java/com/foo/BarTest.java

显然,该结构还有更多功能,但这使我们能够与主线代码分开构建测试,但仍可以访问受保护的类等。对于不同类型的测试,这是非常主观的。当我们开始测试工作时(不幸地是在开发之后开始),我试图使事情保持孤立状态。不幸的是,当我们到达500+测试用例点时,它很快就变成了一场噩梦。此后,我尝试进行更多合并。这导致减少了要维护的代码量。正如我所说,这是非常主观的。

至于仅测试的代码,我们将其保存在com.foo.test仅位于src/test/java树中的单独软件包中。



 类似资料:
  • 问题内容: 我使用netfishs 6.7.1和glassfish v2.1编写了一个Web服务项目,将log4j.properties放入项目的根目录并使用: 在构造函数中: 在功能上: 但是,这是错误信息(实际上,我已经尝试将它几乎可以实现的每个目录都放入): 问题答案: 我知道回答这个问题有点晚了,也许您已经找到了解决方案,但是我将发布我找到的解决方案(在我进行大量Google搜索之后),因

  • 我目前正在使用jdk-9 149测试将Java 8应用程序迁移到Java 9/Jigsaw。 该项目采用标准的Maven目录布局,即具有,,等等。 只要我添加到,maven编译器插件无法抛出NullPointerException。这是因为它也希望找到目录的模块信息。因此,据我所知,有以下几种选择: 将测试类保留在单独的模块中,这意味着它们只能访问主模块的导出包 显然,这两个选项似乎都不可取,所以

  • 问题内容: 首先,我知道如何构建Java应用程序。但是我总是对在哪里上课感到困惑。支持以严格面向领域的方式组织软件包的支持者,其他支持者则按层分开。 我本人一直有问题 命名, 放置 所以, 您将域特定的常量放在哪里(以及此类的最佳名称是什么)? 您在哪里放置基础结构和领域特定的东西的类(例如,我有一个FileStorageStrategy类,该文件将文件存储在数据库中,或者存储在数据库中)? 在哪

  • 我在src/main/resources中有一些文件,当运行junit测试时,我想要这些文件。只有一个设置略有不同的测试特定文件才会否决相应的文件。因此,我的想法是给这个测试文件起一个和主文件一样的名字,并把它放在src/test/resources下,放在和主文件一样(相应)的地方。但是现在我有一个问题,我不能使用src/main/resources中的所有其他文件。 我原以为junit测试会在

  • 在Vaadin 10-14中,我应该将静态文件放在哪里,例如CSS、JavaScript和聚合模板?静态文件(如图像)如何? 此外,如何在Vaadin中导入这些文件?Vaadin 14与npm和Vaadin 10-13与bower之间有差异吗?

  • 我正在尝试为没有它们的包装提供类型: 我在带有打字稿 2.4.2 的 webpack 中使用 ts-loader,并且在 tsconfig.json 中设置了以下类型根: 我试图模仿: < code>index.d.ts中包含以下内容: 但是错误仍然存在。我做错了什么?我应该把那些自定义的. d.ts文件放在哪里? 和任何其他类型根之间有什么区别?为什么TypeScript会区别对待它们?