[英]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遇到了这个问题。 这是我解决它的方式。
现在使用这些资源运行测试将起作用。 我使用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.