什么时候在Swift测试中初始化静态属性?

时间:2018-04-05 16:25:06

标签: swift

我有一个带有可选类型属性(静态)的类。我开始使用这个课时设置了这个。显然,当程序首次启动时,该属性没有任何价值。

我的问题是关于测试。我希望在每次测试开始时对类进行初始化(即类型属性设置为没有值)。但是,似乎该类在所有测试开始时都会启动一次,因此type属性在所有测试中都具有相同的值,这不是我想要的。

测试中的类初始化有哪些规则?有什么方法可以强迫我的班级重新安排"?

谢谢,

儒略

1 个答案:

答案 0 :(得分:1)

正如您所注意到的,测试用例中的静态属性在所有测试中都是持久的。但是,XCTestCase有两组方法可以覆盖以自定义此方法,称为setUp()tearDown()。这有点令人困惑,因为每个都有相同名称的类和实例方法;覆盖类方法以使某些事情只发生一次,并覆盖实例方法以在每次单独测试之前或之后发生某些事情。在您的情况下,覆盖setUp()的实例方法版本并重置您的属性可能最有意义。