如何创建一个为所有类创建对象的setUp方法?

时间:2016-10-26 13:01:46

标签: java unit-testing

我有一个非常庞大的项目,我试图制作游戏。我的课程是:

  • 游戏(主)
  • 播放器
  • 怪物
  • 战场
  • 项目
  • InputReader
  • 实用程序

有一个很大的依赖链,因为有些方法会运行其他方法。玩家类具有类似于buyItem和SellItem的方法,通过HashMap使用类Item中的Item对象。无论如何,我应该在我的unitTest类中创建一个SetUp方法,该方法为所有类创建对象并将Items放入player集合中。我知道如何对单个方法进行基本单元测试,但我无法解决这个问题。请你好,我知道一旦我理解它就可能很明显。

2 个答案:

答案 0 :(得分:1)

创建一个方法,执行所有初始化并使用@BeforeClass 1

对其进行注释
@BeforeClass
public static void initialize() {
    game = new Game()
    // further setting up
}

在执行类中定义的所有单元测试之前,此方法将运行一次。

1:此链接下有更多JUnit注释http://junit.sourceforge.net/javadoc/org/junit/package-summary.html

答案 1 :(得分:0)

你正在从错误的方向看待事情:

  1. 你不进行单元测试,因为有人告诉你“这样做”。您这样做是因为为您的开发过程添加了值。所以,如果没有增值,那么就不要这样做(或者最有可能的是:退一步学习如何以帮助你的方式进行单元测试)
  2. 单元测试的整个想法是使用最小可能的单元。因此,当您发现您的设备始终测试“需要一切”时,那么很可能......您创建了一个难以测试的设计。所以这可能是退后一步,看看你当前的设计的一个迹象!
  3. 如果您真的对从单元测试中获取价值感兴趣,那么您应该研究资源,例如解释为编写“可测试代码”的videos。或者是theartofunittesting等材料。

    换句话说:写单元测试是需要训练的技能。尤其是第一步是 hard ;但是解释所有这些事情会破坏SO问题/答案的范围。