如何在 react-i18next 中监视 "t" 函数?
How to spy a "t" function in react-i18next?
我需要测试这个场景:
- 在组件中:
t("some.key", { name: "Ash" })
- 在json中:
{ "some": { "key": "Hi {{name}}" }
我想监视“t”函数并在测试中获取传递的参数和返回的参数。
有些像这样:
expect(spyed).toHaveBeenCaledWith("some.key", { name: "Ash" })
expect(spyed).toHaveReturnedWith("Hi Ash")
通常,对实现细节做出断言是一种不好的做法。
i18next
作为一种特殊模式,称为 cimode
,这将使您的 t
函数成为 return 键本身。这允许您的测试对您的操作结果做出断言(检查元素是否包含键值)。
我需要测试这个场景:
- 在组件中:
t("some.key", { name: "Ash" })
- 在json中:
{ "some": { "key": "Hi {{name}}" }
我想监视“t”函数并在测试中获取传递的参数和返回的参数。
有些像这样:
expect(spyed).toHaveBeenCaledWith("some.key", { name: "Ash" })
expect(spyed).toHaveReturnedWith("Hi Ash")
通常,对实现细节做出断言是一种不好的做法。
i18next
作为一种特殊模式,称为 cimode
,这将使您的 t
函数成为 return 键本身。这允许您的测试对您的操作结果做出断言(检查元素是否包含键值)。