如何为UserDefaults编写单元测试

问题描述 投票:0回答:1

我有2个函数,其中一个基本上从用户默认值中检索字符串,另一个从用户默认值中写入字符串。我不明白我应该做单元测试还是不做?我对单元测试的概念还很陌生。

我在互联网上搜索了用于测试用户默认设置的信息,但最后还是建议我模拟测试。

我的问题是如果有一种方法可以测试用户默认值,什么是最好的方法?

常量和结构

let defaults = UserDefaults.standard
let defaultinformation = "ABCDEFG"

struct Keys {
    static let Information = "Information"
}

保存信息的功能

func SetDefaultInformation() {
    defaults.set(defaultinformation, forKey: Keys.Information)

}

获取信息的功能

func checkForInformation() -> String {
    let Information = defaults.value(forKey: Keys.Information) as? String ?? ""
    return Information
}

预先感谢

swift nsuserdefaults xctest swift5 userdefaults
1个回答
0
投票

我应该做单元测试还是不做

没有您知道what UserDefaults的工作,并且知道how的工作原理和that的工作原理。测试Apple的代码是荒谬的。测试defaults.set同样愚蠢。您确切知道它会做什么,并且您知道它会做到。

您要测试的是您的代码:不是您从UserDefaults本身检索的,而是您对该检索的response。给自己一些方法,使您可以看到information为字符串时you的行为,以及informationnil时<< you的行为。如您所知,一个简单的模拟程序可以提供后端。

© www.soinside.com 2019 - 2024. All rights reserved.