测试3方

By admin in 4858.com on 2019年4月19日

swift 中无奈使用#Warning来提示警示, 能够透过给TODO:
FIXME:增加警告, 完结类似的效果.

swift 中无奈使用#Warning来唤醒警示, 可以经过给TODO:
FIXME:充裕警告, 达成类似的效果.

swift 中无奈使用#Warning来提醒警示, 可以由此给TODO:
FIXME:加上警告, 完毕类似的效果.

1: KIF
三方库的铺排  

Build Phases —> Run Script —> add a new Build Phases —>
new run script phase

Build Phases —> Run Script —> add a new Build Phases —>
new run script phase

测试3方。Build Phases —> Run Script —> add a new Build Phases —>
new run script phase

   
前几天的卢森堡市天气还不易,原本想试试UI测试的,前日也询问到广大商厦都在用
KIF 那那3方框架!!明天也就试着做做,可就跪在了那么些设置上,小编用cocopods
导入了 KIF(不用cocopods 的法门能够去 git
具体育协会调看看怎么布置那是Git地址:GitKIF
),以后是1度更新到 3.四.贰这一个版本了,去git上观察二日前作者还在立异。表达KIF是没难点还在更新维护是可用的。结果。。。Run4858.com ,~

TAGS="TODO:|FIXME:"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"
TAGS="TODO:|FIXME:"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"
TAGS="TODO:|FIXME:"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"
dyld: Library not loaded: @rpath/XCTest.framework/XCTest
  Referenced from: /Users/mxsm/Library/Developer/CoreSimulator/Devices/B6E8A337-2678-4C4B-9DF1-C97586418141/data/Containers/Bundle/Application/6F05F8A0-A445-49F9-B222-570CA7C49EB6/sinatest.app/sinatest
  Reason: image not found

如图:

如图:

如图:

   
出品人,你出来,那他么是怎么鬼!!

4858.com 1

4858.com 2

4858.com 3

   
开玩笑,那些主题素材其实笔者也纠结了绵绵,上网搜了不少居多的法子,尝试了不少次!结果。。仍旧漏掉了要安插写东西!上面是合法英文版本,克罗地亚共和国(Republika Hrvatska)语好的绵密翻阅,倒霉的,请闭眼一分钟,大家去上面看看。。。

 

4858.com 4

 

 

4858.com 5

4858.com 6

      Final Test Target Configurations

     You need your tests to run hosted in your application. Xcode does
this for you by default when creating a new testing bundle target, but
if you’re migrating an older bundle, follow the steps below.

      First add your application by selecting “Build Phases”, expanding
the “Target Dependencies” section, clicking on the “+” button, and in
the new sheet that appears selecting your application target and
clicking “Add”.

      Next, configure your bundle loader. In “Build Settings”, expand
“Linking” and edit “Bundle Loader” to
be $(BUILT_PRODUCTS_DIR)/MyApplication.app/MyApplication where MyApplication is
the name of your app. Expand the “Testing” section and edit “Test Host”
to be $(BUNDLE_LOADER). Also make sure that “Wrapper Extension” is set
to “xctest”.

      The last step is to configure your unit tests to run when you
trigger a test (⌘U). Click on your scheme name and select “Edit
Scheme…”. Click on “Test” in the sidebar followed by the “+” in the
bottom left corner. Select your testing target and click “OK”.

      

   
 好,作者把那全数给我们翻译成轻松残暴的形似。。(其实自身都以百度翻译探求的。劳之看不懂!)

      1: 项目名Tests对象 (项目名+Tests)—>
Build Phase —> Target Dependencies —> “+”
—>”项目的Tests文件”(去百度时而以此 tests 文件 和UItests
文件有怎么着分别)

   
 二: 项目名Tests对象 —> Build Settings
—> Linking(直接搜)—> Bundle Loader
填写”$(BUILT_PRODUCTS_DI兰德揽胜极光)/项目名称.app/项目名称”

   
 三: 项目名Tests对象 —> Build Settings —> Wrapper Extension
(直接搜)设置成 “xctest”

   
 4: 点击你 RUN 按键隔壁的隔壁的项目target —>  艾德it Scheme…
—> Test
看看在那之中有未有你要测试的品种,未有就拉长(壹般都有感到)!

   

   
那时候的配置完结了,Command +
U,没不通常,认为能够了,可当本人写了1个三番五次 KIFTestCase
的文书的时候,难题又有了!说<KIF/KIF.h>头文件找不到,其实这一个也健康,你以后是在
Tests
对象(那么些项目里就是ZXDNLLTestTests)里面。不是在您得项目target对象里面,你得重新配置一下。上边是在你得
tests
对象里面的安插,那一点地点填写的具体内容,从你的target对象(这些体系里面就是ZXDNLLTest,怕有同学依旧不晓得!)里面粘贴复制就行了!

4858.com 7

 

4858.com 8

 

   
 以上那些陈设了现在,小编的 KIF
也就足以了。创造 LoginTestCasse ,再说一次,它是再三再四 KIFTestCase 如图:

   
  4858.com 9 

二:具体育项目检测试代码详解

//
//  LoginTestCase.m
//  ZXDNLLTest
//
//  Created by mxsm on 16/4/28.
//  Copyright © 2016年 mxsm. All rights reserved.
//

#import "LoginTestCase.h"
#import "AFNetworking.h"
@implementation LoginTestCase

/*
 beforeAll 是一个在所有测试运行之前被调用一次的特殊方法。你可以为你这里运行的测试设置任何实体变量和初始化条件.
 tester 对象是指定的 KIFUITestActor 类的一个缩略名称。这个类包含了模拟用户动作的方法,包括触摸和滑动.
 tapViewWithAccessibilityLabel 这也许是最常被用到的测试动作方法。正如其名称所显示的,它可以在给定的辅助标签模拟在视图上的触击。在大多数情况下,辅助标签和可视的文本标签(例如按钮组件)是配套的。否则你就需要手动设置辅助标签.
 一些控件,诸如 UISwitch,更加复杂,需要比简单的触击更复杂的步骤来触发。 KIF 提供了一个特殊的 setOn:forSwitchWithAccessibilityLabel: 方法来改变一个切换的状态.
*/

- (void)beforeAll {
    ////
    [tester tapViewWithAccessibilityLabel:@"Settings"];
    [tester setOn:YES forSwitchWithAccessibilityLabel:@"Debug Mode"];
    [tester tapViewWithAccessibilityLabel:@"Clear History"];
    [tester tapViewWithAccessibilityLabel:@"Clear"];

}

//  这里的测试方法使用 test开头的,后面的自己写,你要用command+U 的形式运行的话,它的运行的顺序就是除了test之外的后面的按字母排序的方式运行,比如下面的这个方法,出test之外第一个字母是Z,你要是又命名一个方法,testyou ,它是y ,他就会先运行。当然你也可以一个方法一个方法的运行,点击方法前面的框框就OK了!

-(void)testzhangxuone
{
    // 可以在这里添加自己需要的测试的内容!
    int a = 0;
    if (a==0) {
        NSLog(@"you are successful");

    }
}

/* 
    下面是在简书找到的一篇关于单元测试的一个网络请求的测试,其实大家可以对比一下KIF !!!
    KIF和苹果自带的UI测试两者本质是一样的!
    不过下面的请求是   AFNetworking 3.0 以前的版本的,大家用还是用3.0之后的吧!
    AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
    关于3.0 之后的给大家一个连接,可以去看看!====== http://www.jianshu.com/p/047463a7ce9b

*/

//   下面方法的原文链接  ============= http://www.jianshu.com/p/8bbec078cabe

//-(void)testRequest{
//    // 1.获得请求管理者
//    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
//    mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",nil];
//    // 2.发送GET请求
//    [mgr GET:@"http://www.weather.com.cn/adat/sk/101110101.html" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
//        NSLog(@"responseObject:%@",responseObject);
//        XCTAssertNotNil(responseObject, @"返回出错");
//        self.stAlertView = [[STAlertView alloc]initWithTitle:@"验证码" message:nil textFieldHint:@"请输入手机验证码" textFieldValue:nil cancelButtonTitle:@"取消" otherButtonTitle:@"确定" cancelButtonBlock:^{
//            //点击取消返回后执行
//            [self testAlertViewCancel];
//            NOTIFY //继续执行
//        } otherButtonBlock:^(NSString *b) {
//            //点击确定后执行
//            [self alertViewComfirm:b];
//            NOTIFY //继续执行
//        }];
//        [self.stAlertView show];
//    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//        NSLog(@"error:%@",error);
//        XCTAssertNil(error, @"请求出错");
//        NOTIFY //继续执行
//    }];
//    WAIT  //暂停
//}

@end 

      网上有1篇翻译的国外的篇章,很多居多写
KIF
的平昔是把那篇给通篇粘贴复制了,链接恐怕给我们,你领会了KIF,知道她是做什么样的,也导入成功了,你可以去探视那篇小说,对协调料定也有帮助,链接给大家!
KIF学习链接

   
还有某个专注,作者代码里面给的 
那几个链接里面,还有多少个链接不错的,有更进一步学习单元测试的录像,大家进入自身看就行了!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有