Java 我可以在与主代码相同的类中进行jUnit测试吗?

Java 我可以在与主代码相同的类中进行jUnit测试吗?,java,junit,Java,Junit,我是jUnit的新手,我发现测试我正在进行的小项目很困难。jUnit测试的所有示例似乎都涉及数学,我编写的是一个简单的应用程序,它通过扫描仪获取信息,创建各种对象并将它们存储在ArrayList中。我的想法之一是测试ArrayList是否为空,但我显然无法从单独的类访问它,但标准似乎是将测试与代码分开。所以我不知道该怎么办?您可以为阵列提供受保护的访问器,以便单元测试(应在同一个包中)可以使用它。您可以为阵列提供受保护的访问器,以便单元测试(应在同一个包中)可以使用它.典型的成熟实践包括: 单

我是jUnit的新手,我发现测试我正在进行的小项目很困难。jUnit测试的所有示例似乎都涉及数学,我编写的是一个简单的应用程序,它通过扫描仪获取信息,创建各种对象并将它们存储在ArrayList中。我的想法之一是测试ArrayList是否为空,但我显然无法从单独的类访问它,但标准似乎是将测试与代码分开。所以我不知道该怎么办?

您可以为阵列提供受保护的访问器,以便单元测试(应在同一个包中)可以使用它。

您可以为阵列提供受保护的访问器,以便单元测试(应在同一个包中)可以使用它.

典型的成熟实践包括:

  • 单元测试和生产代码进入不同项目中的不同文件,但使用相同的包名
  • 单元测试不应该依赖于生产代码的内部状态。您不希望编写一个需要了解被测类中某个字段的测试。因为这意味着当您更改生产代码以不同方式解决问题时,测试可能会中断

这里真正的答案是:你应该与我们分享你的代码片段,以获得真正有用的反馈

典型的成熟实践包括:

  • 单元测试和生产代码进入不同项目中的不同文件,但使用相同的包名
  • 单元测试不应该依赖于生产代码的内部状态。您不希望编写一个需要了解被测类中某个字段的测试。因为这意味着当您更改生产代码以不同方式解决问题时,测试可能会中断

这里真正的答案是:你应该与我们分享你的代码片段,以获得真正有用的反馈

最佳实践是将测试放在一个单独的类中,这样当您的程序发布到世界上时,您可以只发布应用程序类而不发布测试类。在这种情况下,不要考虑检查数组列表是否为空,而是考虑当该数组列表为空时,类的对象的行为可能会有所不同。然后为对象的行为编写测试,而不是为对象的内部状态编写测试。最佳做法是将测试放在单独的类中,以便在将程序发布到世界时,您可以只发布应用程序类而不是测试类。在这种情况下,不要考虑检查数组列表是否为空,而是考虑当该数组列表为空时,类的对象的行为可能会有所不同。然后为对象的行为编写测试,而不是为其内部状态编写测试。