【问题标题】:How to organize different java source folders in netbeans (for testing)?如何在netbeans中组织不同的java源文件夹(用于测试)?
【发布时间】:2015-03-17 21:40:00
【问题描述】:

我正在 Netbeans (8.0.2) 中开发一个项目,该项目使用 JUnit (4.x) 来测试应用程序代码(在 Netbeans 模块中)。在同一个模块中,我也有一些集成测试。我找到了一种分离应用程序代码、单元测试和集成测试的方法,方法是将后者放入 MODULE_PATH\test\qa-functional\src 下的单独文件夹中。这样,Netbeans IDE 将这三种语义不同的类放入单独的文件夹中:

问题是,我的功能测试往往会变得复杂,所以我更愿意对它们进行单元测试。但是,如果为功能测试包的一个类创建单元测试(在单元测试包中),则测试不会编译。似乎是一些类路径问题。

我知道我也可以将功能测试的单元测试放在功能测试包中(如果这个问题没有为我提供一些解决方案,我会这样做),但无论如何,有没有办法解决这个问题在 Netbeans 中?

我找到了一个不好的解决方案,改变了 common.xml 中 ant 目标的顺序(在 NB 8.0.2 的第 610 行)。但这显然是不可移植的,随着新版本的 Netbeans 的变化,.. 所以不是真正的解决方案。详情见Netbeans Forum: Classpath problem when unit testing functional tests

在 Eclipse 中,我只需在 Java 构建路径上添加一个新的源文件夹。但是Netbeans中不存在这种机制吗? 为了清楚起见,我添加了一个屏幕截图。

提前感谢您的帮助。

【问题讨论】:

  • 我更喜欢maven directory structure 这并不限制您使用 maven,而是一种组织代码、测试和资源的好方法

标签: java netbeans junit


【解决方案1】:

你在做错事

  • 单元测试应该验证尽可能小的功能,例如一种方法正在产生预期的结果
  • NetBeans 中的功能测试代表集成测试,即您将应用程序视为黑盒时的测试

在“功能测试”中对功能进行“单元测试”是没有意义的。NetBeans 将测试文件夹独立对待,因此它们不在彼此的类路径中,这就是它不这样做的原因在 NetBeans 中工作。

【讨论】:

  • 我不同意。测试一些代码是一件好事。单元测试应该很简单,但集成测试很容易变得复杂,并且随着时间的推移它们往往会发生变化和扩展。单元测试这种简单的功能测试有助于开发。可以说我可以将集成测试放入不同的(Netbeans)模块中,但将所有内容放在一个模块中似乎更可取。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 2012-11-27
  • 2019-02-28
  • 1970-01-01
相关资源
最近更新 更多