我是Eclipse的长期用户,但对于JUnit来说,这是一个新手。我有很多java项目,我想开始围绕这些项目中的方法编写测试用例。我只是想知道为此目的设置Eclipse环境的最佳方法。假设我有一个典型的项目,在指定的包中有一个典型的src目录。如何将测试用例附加到该项目。一些问题: 1.我不希望测试用例成为我在项目中创建的任何构建的一部分。 我想参考测试套件中的分支。
我是否要在要测试的软件包下设置一个单独的测试目录?我有一个单独的测试包吗?这样做的最佳方式是什么?
答案 0 :(得分:8)
这很简单:
构建应用程序的部署包时,只需排除'test'源文件夹。现在,如果您希望真正删除简单的测试集成,那么使用Maven来设置您的项目。它立即为您提供所有最佳实践。
答案 1 :(得分:3)
组织测试代码的最佳(或至少是最常见的)方法是为测试代码提供单独的源文件夹,从而保持良好的分离。在eclipse中,您可以在项目属性中的“构建路径”下添加源文件夹。
但是,将测试类保存在与要测试的类相同的包中(即在测试源文件夹中具有相同的包层次结构)也是一个好主意。这允许您测试代码以调用包私有和受保护的方法,从而更容易测试不应在公共API中公开的内部行为。
答案 2 :(得分:0)
一个简单的解决方案是专门为测试相关类创建另一个源目录。例如,如果您的主要课程位于$PROJECT_ROOT/src
,则可以将与测试相关的课程放在$PROJECT_ROOT/src-test
中。我没有Eclipse方便,但我知道您可以修改$PROJECT_ROOT/.classpath
文件(它的XML)以包含这个新目录:
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-test"/> <!-- ADD THIS ONE -->
...
</classpath>
现在,您的所有测试类都将看到主类,但它们不会包含在您的构建中。我通常会确保测试类与它正在测试的类位于同一个包中。这样,可以从测试代码中访问任何protected
成员。