美文网首页
Mac Dev Part 5 - NSAlertView &am

Mac Dev Part 5 - NSAlertView &am

作者: 遇见Miu | 来源:发表于2019-03-05 16:07 被阅读2次

时间挤的话,总是会有的

比如说需求做完的时候,等同事接入的时候

1.NSAlert的两种弹出方式

首先创建NSAlert,并添加选项

        let alert = NSAlert()
        alert.messageText = "警告消息⚠️"
        alert.informativeText = "警告消息⚠️的描述"
        alert.addButton(withTitle: "确定")
        alert.addButton(withTitle: "隐藏")
        alert.addButton(withTitle: "取消")

runModal方法,警告栏是独立在window外部

        let result = alert.runModal()
        switch result {
        case .alertFirstButtonReturn:
            print("确定")
        case .alertSecondButtonReturn:
            print("隐藏")
        case .alertThirdButtonReturn:
            print("取消")
        default:
            break
        }

效果:


警告栏在外部.jpg

beginSheetModal方法,使警告栏在window内部

        alert.beginSheetModal(for: view.window!) { (response) in
            print("选择了\"\(response)\"")
        }

效果:


警告栏在内部.jpg

2.自动化测试UI

NSAlertViewUITests.swift

效果图:


UITest效果图.gif

可以测试后加入XCTAssert(window.staticTexts["确定"].exists),可以测试通过

其实UITests自动化测试UI,自己在项目中接触的不多,在这里记录并尝试一下

3.单元测试

创建Song.swift模型,里面有属性title,author,duration

class Song: NSObject {
    
    var title: String
    var author: String
    var duration: Double
    
    init(title: String, author: String, duration: Double) {
        self.title = title
        self.author = author
        self.duration = duration
    }
}

创建Constants.swift储存一些常量来进行测试

class Constants: NSObject {
    static let title = "Great Title"
    static let author = "MySelf"
    static let duration = 60.0
}

创建SongTests.swift需要继承于XCTestCase

import XCTest

// 需要导入整个项目名称NSAlertView
@testable import NSAlertView

class SongTests: XCTestCase {
    
    func textInit() {
        let song = Song(title: Constants.title, author: Constants.author, duration: Constants.duration)
        
        XCTAssertEqual(song.title, Constants.title)
        XCTAssertEqual(song.author, Constants.author)
        XCTAssertEqual(song.duration, Constants.duration)
    }
}

点击测试测试通过,证明构造方法的结果和模型结果一致

相关文章

  • Mac Dev Part 5 - NSAlertView &am

    时间挤的话,总是会有的比如说需求做完的时候,等同事接入的时候 1.NSAlert的两种弹出方式 首先创建NSAle...

  • Mac Dev Part 6 - ContainerView &

    时间是挤出来的感觉需要加快点脚步才行呀,时间感觉总是不够用 1.ContainerView的创建 Containe...

  • Mac Dev Part 7 - Notification

    生活不易但是不能让它慢慢磨掉你向往美好的蓝图 1.NSNotification 和iOS上的通知没有什么区别,所以...

  • Mac Dev Part 9 - WindowViewContr

    时间是挤出来的我觉得每个Part可以多写点东西,这样不至于会写很多Part WindowController的to...

  • Mac Dev Part 8 - NSPopover

    今天周五,好好干活女生过节,不关我啥事= = 按钮弹出PopoverViewController,点击加号能够进行...

  • Mac Dev Part 3 - NSOutlineView

    其实周末也不能懈怠啊实现类似于QQ好友展开列表,发现Mac上实现还是很麻烦的 1.拖入SourceList, 创建...

  • Mac Dev Part 4 - NSOutlineView -

    自己选择的路,怎么都得走下去swift不熟悉,用的是另外一种思路,所以遇到问题有点束手无策 1.剪切板相关 2.U...

  • Mac Dev Part 10 - SplitViewContr

    最难的还是坚持啦吃完饭好好把今天的学习任务完成 偏好设置 将偏好设置和目标控制器进行连接(show的方式跳转),其...

  • Mac Dev Part 11 - NSToolbar

    最难的还是坚持啦好好工作好好码代码 NSToolbar 在Toolbar上拖入一个label,加入item spa...

  • Mac Dev Part 1 - Menu Bar

    时间总是挤出来的从今天开始进行记录和学习Mac开发 1.展示名为statusItembutton的图片到Mac的状...

网友评论

      本文标题:Mac Dev Part 5 - NSAlertView &am

      本文链接:https://www.haomeiwen.com/subject/jbrouqtx.html