jUnit使用setUp和tearDown

时间:2015-06-19 17:43:10

标签: java junit

对jUnit不熟悉我到目前为止所做的是在测试方法本身内设置我的依赖项(即创建对象)。

问题:

  1. Eclipse嘲笑未使用的变量。这是setUptearDown的用途吗?

  2. setUp内创建对象,然后null通过tearDown创建对象是不错的做法?

  3. 上述方法的其他用例有哪些?

  4. 使用预先套件setUptearDown的目的是什么。当有人派上用场时,有人会举个例子吗?

  5. 干杯, 安德鲁

1 个答案:

答案 0 :(得分:1)

  

对jUnit不熟悉我到目前为止所做的是在测试方法本身内设置我的依赖项(即创建对象)。

如果它们被初始化并正确清理,这种方法没有任何问题。如果不同的测试需要不同的依赖关系,你必须这样做。

  

Eclipse会模拟未使用的变量。这是setUp和tearDown的用途吗?

未使用的变量与setUp和tearDown方法无关。你应该使用它们或删除它们。

  

在setUp

中创建对象是一种好习惯

在某些情况下,setUp方法(或现在的@Before注释)是必要的。 通常,构造函数和内联初始化也可以正常工作。 如果您在测试中有继承,或者您希望在初始化期间利用@Before,那么@Rule注释很有用。

  

然后通过tearDown将它们清空?

这是一个坏主意。 tearDown(或现在的@After注释)应该用于清理连接和文件等外部资源,或者还原对应用程序静态状态所做的更改。无需将字段归零,因为垃圾收集器无论如何都会回收它们。

  

使用预套件setUp和tearDown的目的是什么?当有人派上用场时,有人会举个例子吗?

有时您希望在测试之间共享一些资源。例如,创建数据库连接速度很慢。套件方法允许您为每个套件创建一次,而不是每次测试或每个测试类创建一次。