iphonexcode有没有一种不用加载模拟器就能测试方法的方法?

iphonexcode有没有一种不用加载模拟器就能测试方法的方法?,iphone,xcode,testing,Iphone,Xcode,Testing,我正在尝试测试iPhone项目所需的一些简单字符串操作方法。我想知道是否有任何方法可以在每次不加载模拟器的情况下测试方法的结果 例如,在我的main.m方法中: #import <UIKit/UIKit.h> int main(int argc, char *argv[]) { testMethod(); NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal =

我正在尝试测试iPhone项目所需的一些简单字符串操作方法。我想知道是否有任何方法可以在每次不加载模拟器的情况下测试方法的结果

例如,在我的main.m方法中:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {
        testMethod();
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}


void testMethod() {
    NSString *body = @"{\"username\":\"name\",\"password\":\"123\"}";
    NSLog(@"body=%@",body);
}
#导入
int main(int argc,char*argv[]){
testMethod();
NSAutoreleasePool*池=[[NSAutoreleasePool alloc]init];
int retVal=UIApplicationMain(argc,argv,nil,nil);
[池释放];
返回返回;
}
void testMethod(){
NSString*body=@“{\”用户名\“:\”名称\“,\”密码\“:\”123\“}”;
NSLog(@“body=%@”,body);
}

我只想运行这段代码,看看控制台输出了什么(不需要模拟器)。这在xCode中可能吗

不是真的,不是。如果你真的想,你可以创建一个新的Xcode项目,作为一个“命令行实用程序”(在Mac OS X模板下),它运行得更快,因为它不需要加载模拟器。如果你只是在做NSString操作,同样的代码也可以在Mac OS X上运行。

不,不。如果你真的想,你可以创建一个新的Xcode项目,作为一个“命令行实用程序”(在Mac OS X模板下),运行得更快,因为它不必加载模拟器。如果您只是在进行NSString操作,同样的代码也可以在Mac OS X上运行。

这是一个非常适合您的情况。对于iPhone开发,我一直在使用

设置GH单元和学习如何编写适当的单元测试会有一些开销,但回报将是:

  • 您将能够快速编写和测试您的方法,并确信它工作正常
  • 这些测试将永久存在,因此您可以重构您的测试方法,并确保您没有破坏任何东西
  • 单元测试的最大好处,我从来没有听过有人谈论过,就是它能让你以多快的速度修复bug。当您或测试人员在应用程序中发现bug时,您可以快速编写单元测试来重新创建导致bug的情况,重新编写代码来处理bug,然后运行测试,而无需编译和运行应用程序。对于深埋在导航层次结构中的bug来说,这是一个巨大的胜利

    我刚刚记得的另一个好处是,好的单元测试可以让您在实践模式下使用类/方法,然后再编写依赖于特定接口的所有代码。这是一个很好的方法来找出那些笨拙的小工作流,在你真正开始使用它们之前,这些工作流似乎是个好主意

    还有一个好处:自我记录。如果您需要向某人提供有关如何使用类的示例代码,只需从单元测试中复制并粘贴代码即可

    我不做测试驱动的开发,也不喜欢100%的覆盖率,但从这篇文章中你可能可以看出,我喜欢一些单元测试。我过去常常遇到各种各样的麻烦,设置一些基于终端的小项目,让我不用运行整个应用程序就可以测试我的课程。过了一段时间,我意识到这一切是多么愚蠢,于是下定决心学习如何测试我的课程。这对我的工作效率产生了巨大的影响


    @jlehr建议使用OCUnit,它确实与Xcode有更好的集成,并且更易于设置。不过,我会远离iPhone上的OCUnit。在使用OCUnit的模拟器中,我在调试器中运行单元测试时遇到很多问题。如果您可以先编写完美的单元测试,也许这不是问题:-D GHUnit允许您立即调试单元测试


    不过,这只适用于iPhone开发人员。如果您使用的是OSX,那么对于您的单元测试来说,than OCUnit是一个不错的选择。还有很多其他的测试框架,但GHUnit是我唯一尝试使用的一个,它在iPhone开发中运行得非常好。

    这是一个完美的情况。对于iPhone开发,我一直在使用

    设置GH单元和学习如何编写适当的单元测试会有一些开销,但回报将是:

  • 您将能够快速编写和测试您的方法,并确信它工作正常
  • 这些测试将永久存在,因此您可以重构您的测试方法,并确保您没有破坏任何东西
  • 单元测试的最大好处,我从来没有听过有人谈论过,就是它能让你以多快的速度修复bug。当您或测试人员在应用程序中发现bug时,您可以快速编写单元测试来重新创建导致bug的情况,重新编写代码来处理bug,然后运行测试,而无需编译和运行应用程序。对于深埋在导航层次结构中的bug来说,这是一个巨大的胜利

    我刚刚记得的另一个好处是,好的单元测试可以让您在实践模式下使用类/方法,然后再编写依赖于特定接口的所有代码。这是一个很好的方法来找出那些笨拙的小工作流,在你真正开始使用它们之前,这些工作流似乎是个好主意

    还有一个好处:自我记录。如果您需要向某人提供有关如何使用类的示例代码,只需从单元测试中复制并粘贴代码即可

    我不做测试驱动的开发,也不喜欢100%的覆盖率,但从这篇文章中你可能可以看出,我喜欢一些单元测试。我过去常常遇到各种各样的麻烦,设置一些基于终端的小项目,让我不用运行整个应用程序就可以测试我的课程。过了一段时间,我意识到这一切是多么愚蠢,于是下定决心学习如何测试我的课程。这对我的工作效率产生了巨大的影响


    @jlehr建议使用OCUnit,它确实与Xcode有更好的集成,并且更易于设置。不过,我会远离iPhone上的OCUnit。在模拟器中,我在调试器中运行单元测试时遇到很多问题