学习测试的第一步之Unittest&UITest初体验

发表于:2021-8-02 09:17

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:BBC6BAE9    来源:掘金

  1、新建一个Demo工程,勾选include Tests

  2、新建一个Caculater文件并且实现一个max取最大值的函数
  输入:形如字符串1,2,3,5,8 输出:字符串中的最大值:
+ (float)max:(NSString *)valueStr {
    NSArray *array = [valueStr componentsSeparatedByString:@","];
    float max =[[array valueForKeyPath:@"@max.floatValue"] floatValue];
    return max;
}

  在实际开发的过程中最好还要加一步数据校验。在此为了方便起见,我们假定输如的valueStr是符合要求的。

  3、在DemoTest新建测试文件CaculaterTests
#import <XCTest/XCTest.h>
#import "Caculator.h"

@interface CaculaterTests : XCTestCase

@end

@implementation CaculaterTests

- (void)testMax{
    float value = [Caculator max:@"1,2,3"];
    float expectValue = 3;
    XCTAssertEqual(value, expectValue);
}

@end

  4、执行测试
  方式1:快捷键cmd+u测试全部用 方式2:点击IDE的测试按钮

  测试成功!success!

  到此为止,你应该对自己编写的这个函数的正确性充满了信心!

  二、UITest初体验
  在手机客户端的测试中我们经常需要操作UI。
  操作:打开safari - 输入youku.com - 滑动5次。
-(void)testSafariSlide{
    
    XCUIApplication *safari = [[XCUIApplication alloc] initWithBundleIdentifier:@"com.apple.mobilesafari"];
    [safari launch];
    
    XCUIElement *inputTf = safari.otherElements[@"URL"];
    XCTAssertTrue([inputTf waitForExistenceWithTimeout:3]);
    [inputTf tap];
    [safari.textFields[@"URL"] typeText:@"https://youku.com"];
    [safari.buttons[@"go"] tap];
    for (int i = 0; i< 5; i++) {
        [safari swipeUp];
    }
    
    sleep(10);
}

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号