Spek文档参考
As a best practice you typically want test values to be unique for each test this can be done by using a lateinit variable and assigning it within a beforeEachTest. lateinit var calculator: Calculator
beforeEachTest {
calculator = Calculator()
}
To make it more concise, Spek provides memoized to do the same thing:
val calculator by memoized { Calculator() }memoized到底是什么?
发布于 2020-02-01 14:23:03
Memoization是使用给定的一组参数值记住(缓存)函数调用的结果,以便如果使用相同的参数值再次调用相同的函数,则将返回缓存的结果,而不必重新运行该函数。这是一种优化技术。
点击此处查看更多信息:https://en.wikipedia.org/wiki/Memoization
因此,在上面的示例中,Spek在其memoized函数中封装了构造Calculator的调用,这意味着它只会构造一次,此后对calculator的调用将重用现有的实例。就通常在测试中如何使用它而言,这将为您提供与在beforeEachTest中构造新Calculator相同的行为,但方式更简洁。
https://stackoverflow.com/questions/60010764
复制相似问题