gpt4 book ai didi

ios - 需要有关 iOS 的 BDD 的建议

转载 作者:行者123 更新时间:2023-11-29 12:32:55 25 4
gpt4 key购买 nike

灵感来自 this关于 objc.io 的问题我决定在我的新项目中尝试 BDD。这是我的问题:我想测试 MYCredentialStorage 以某种方式保留我要求它存储的凭据,即下次启动应用程序时我会得到完全相同的凭据。 MYCredentialStorage 使用钥匙串(keychain),所以我可以模拟它并验证是否调用了 SecItemAddSecItemUpdate 函数,但我不应该测试(或知道of) MYCredentialStorage 的私有(private)方法,对吗?
我敢肯定我不是唯一遇到这个问题的人,所以我是 BDD 的新手,所以我想征求你的意见。提前谢谢你。

最佳答案

来自评论

Michael Ciuba 写道:

请查看来自同一 objc.io 问题的另一篇文章 - 依赖注入(inject):objc.io/issue-15/dependency-injection.html。基本上,您可以将钥匙串(keychain)的模拟注入(inject) MYCredentialStorage(但也许您需要为 SecItem* 方法创建一个包装器)。

Ben Flynn 写道:

我同意@MichałCiuba 的观点 - 没有通用的方式来表达项目将在您的应用程序执行之间持续存在。如果你要走 DI 路线,我会按照他说的去做。如果您不进行 DI,我不会羞于模拟钥匙串(keychain)存储或您的私有(private)方法。我会在测试的命名中明确表达期望是什么。

关于ios - 需要有关 iOS 的 BDD 的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27170257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com