简述
在 Swift 的单元测试中,setUp() 和 tearDown() 被用来进行设置和清理工作。通过这两个方法,在测试之前可以设置测试环境,在测试完成后可以清理环境,以确保每个测试都在一个独立且干净的环境中运行,避免测试之间相互影响。
说明
在进行 testExample 和 testExample2 测试时,尽管两次调用 sample.changeState() 方法都应该将 state 属性增加 1,但由于每次测试方法运行都会重新实例化 Sample 类,因此测试方法之间的状态不会共享。
每次测试方法运行时,都会创建一个新的 Sample 实例,且 state 属性的初始值始终为 0。因此,无论在测试方法中调用 changeState() 方法多少次,每次的 state 属性都会从 0 开始增加,并在测试方法结束后被销毁。这解释了为何两次测试中 state 属性最终都是 1。
用法
setUpWithError() 方法
在 setUpWithError() 方法中,你应该准备测试所需的初始状态和资源。通常情况下,你会在这里执行一些初始化工作,比如创建对象实例、打开文件、建立数据库连接等,以确保测试方法在运行时处于正确的环境中。
override func setUpWithError() throws {
// 这里不需要执行任何初始化操作
// 因为我们的测试用例中没有需要初始化的资源或状态
}
tearDownWithError() 方法
在 tearDownWithError() 方法中,你应该执行一些清理操作,以确保测试后的状态是干净的,不会影响其他测试。通常情况下,你会在这里释放资源,关闭文件、数据库连接,或执行其他清理工作。
override func tearDownWithError() throws {
// 这里不需要执行任何清理操作
// 因为我们的测试用例中没有需要清理的资源或状态
}
通过正确使用 setUpWithError() 和 tearDownWithError() 方法,你可以确保每个测试方法都在一个独立且干净的环境中运行,提高了测试的可靠性和稳定性。