gpt4 book ai didi

ios - 内部功能的单元代码测试

转载 作者:行者123 更新时间:2023-11-28 21:27:39 24 4
gpt4 key购买 nike

我是测试方面的新手,所以我在测试某些代码部分的内部功能时遇到了麻烦。如何仅测试具有不同输入的 privateParseAndCheck 和/或 privateFurtherProcessing 功能,但我不想将其作为公共(public)函数?

-(BOOL) publicFunction()
{
//some stuff with network
NSError* error;
NSData* data = load(&error);
//now I got data and parse and check
BOOL result = privateParseAndCheck(data, error, ...);

if( result ) {
privateFurtherProcessing();
}
return result;
}

重写代码是解决方案吗?我也对 Xcode Server 上的提示/解决方案的一些经验感兴趣。

最佳答案

如果有一种直接的方法可以仅通过公共(public)方法测试您想要的内容,那就去做吧。

如果没有,您有一个选择:您可以仅将方法公开给测试代码。 这是常见的做法,但我不推荐这样做。它抑制了其他选择......

或者,完全公开该方法。如果这让您感到不舒服,可能有一个类试图逃脱。提取该类(您要测试的方法以及与它们一起使用的任何其他有意义的方法。)您现在可以测试它类。

当遇到不同的条件(例如不同的错误)很困难时,这尤其有用。提取,很简单。

进一步阅读:Testability, Information Hiding, and the Class Trying to Get Out

关于ios - 内部功能的单元代码测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35057734/

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