繁体   English   中英

将测试文件添加到Netbeans 6.7.1中的Junit测试 - getResource问题,在构建目录中丢失文件

[英]Adding test files to a Junit test in Netbeans 6.7.1 - getResource issues, missing file in build directory

我正在使用NetBeans 6.7.1向我的一个类添加一个Junit测试,我需要能够加载一个特定于测试的xml文件,所以我将它包含在“Test Packages”文件夹中(以及我的实际测试)。 我遇到了两个问题,

(1)getResource正在查找错误的目录

(2)我运行测试时不会复制我的xml测试文件(注意,此功能适用于我将文件添加到“Sources Packages”目录)。

在我的测试课程中:

this.getClass()。的getResource( “/”)

收益:

D:\\ UserProfiles \\ myName \\ My Documents \\ NetBeansProjects \\ ProjectExample \\ build \\ classes

我也需要它回归:

D:\\ UserProfiles \\ myName \\ My Documents \\ NetBeansProjects \\ ProjectExample \\ build \\ test \\ classes

(因为这是编译测试类的地方)

看起来相当hacky调用getResource,获取父节点,然后查看test \\ classes。 这是获取测试文件路径的正确方法吗? 也许这是netbeans中的一个错误?

此外,当我右键单击我的testFile并“运行测试”时,只有我的测试类文件被复制到test / classes目录而不是我的xml测试文件。 如何告诉Netbeans确保将常规xml文件与类文件一起复制到构建目录。

我还想避免攻击ant build来复制我的测试文件。

我最近使用NetBeans 6.9.1遇到了这个问题。 这是我解决它的方式。

  1. 打开项目 - >属性 - >库
  2. 选择“运行测试”选项卡
  3. 单击“添加Jar /文件夹”
  4. 导航到存储资源文件的位置
  5. 添加文件夹

现在使用这些资源运行测试将起作用。 我使用NetBeans 6.9.1和一个简单的Java应用程序对此进行了测试。

默认情况下,NetBeans在src目录中创建资源文件(默认包),因此我在上面的步骤5中添加了src文件夹。 一旦你做了测试,在类路径中查找资源文件就会找到它。

由于NetBeans默认打包在src文件夹中找到的资源,因此您无需复制文件并使其保持同步。

如果希望测试资源与生产资源不同,则可以在测试文件夹下的默认包中添加测试资源。 然后添加测试文件夹,而不是在上面的步骤4/5中添加src文件夹。

只需将您的文件放在与测试相同的包中,例如,包foo.bar中的data.xml。 不需要复制或构建脚本黑客,只需参考如下文件:

getClass().getResource("data.xml");

或者,您可以这样做:

getClass().getResource("/foo/bar/data.xml");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM