如何在Eclipse中使用JUnit

时间:2011-09-04 23:13:34

标签: java eclipse junit

我是Eclipse的长期用户,但对于JUnit来说,这是一个新手。我有很多java项目,我想开始围绕这些项目中的方法编写测试用例。我只是想知道为此目的设置Eclipse环境的最佳方法。假设我有一个典型的项目,在指定的包中有一个典型的src目录。如何将测试用例附加到该项目。一些问题: 1.我不希望测试用例成为我在项目中创建的任何构建的一部分。 我想参考测试套件中的分支。

我是否要在要测试的软件包下设置一个单独的测试目录?我有一个单独的测试包吗?这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:8)

这很简单:

  • 拖动或以其他方式将JUnit jar文件放入lib文件夹中 修改项目构建设置以包含它。
  • 在项目下创建另一个名为'test'的文件夹
  • 在“test”源文件夹下创建测试包。最好 练习是模仿应用程序的包名称。
  • 在测试包中创建测试类。最佳做法 是模仿需要测试的应用程序类,但是追加 在名称末尾进行测试。例如,在您的主应用程序中 你可能有一个myapp.service.PrintService并作为相应的 测试你有myapp.service.PrintServiceTest
  • 从junit.framework.TestCase
  • 扩展每个测试类
  • 使用TestRunner运行测试类。

构建应用程序的部署包时,只需排除'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成员。