java - Spek 中存储了什么?

标签 java testing kotlin spek

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() }

到底内存了什么?

最佳答案

记忆化是使用一组给定的参数值来记住(缓存)函数调用的结果,这样,如果使用相同的参数值再次调用同一函数,将返回缓存的结果,而不必重新运行功能。这是一种优化技术。

在此处查看更多信息:https://en.wikipedia.org/wiki/Memoization

因此,在上面的示例中,Spek 将构造 Calculator 的调用包装在其 memoized 函数中,这意味着它只会构造一次,然后调用 calculator 将重用该现有实例。就您在测试中通常如何使用它而言,这将为您提供与在 beforeEachTest 中构造新的 Calculator 相同的行为,但以更简洁的方式.

关于java - Spek 中存储了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60010764/

相关文章:

android - 使用 MutableLiveData<String> 优于 String 的优点?

java - Eclipse 运行以前的程序?

java - 将 char 变量增加 int 值

java - 如何在不使用 api 的情况下获取两个日期之间的差异?

jquery - Jasmine 单元测试不适用于简单的 jquery 单击

ruby-on-rails - 在 Rails Controller 测试中,如何访问不同的 Controller 操作?

android - 可以将 sharedPrefrence 与 Coroutine kotlin 一起使用吗

java - 制作一个 jar list 。它从哪里来,我自己做吗?

Android/iOS 测试自动化 : How to simulate complex gestures

sonarqube - 为什么我添加的“新问题”没有转移到 Sonar ? (自定义 Sonar 插件)