UserDefaults
似乎无法在XCTest中运行。我正在运行以下测试但userDefaults.string(forKey: "key")
在Linux上返回nil
时,在macOS上它返回正确的值并传递。
我正在使用Docker在Linux上执行测试。我的Dockerfile如下:
FROM swiftdocker/swift
WORKDIR /package
COPY . ./
RUN swift package resolve
RUN swift package clean
RUN swift test --parallel
测试文件:
import XCTest
class UserDefaultsTests: XCTestCase {
func testUserDefaults() {
let userDefaults = UserDefaults.standard
userDefaults.set("value", forKey: "key")
_ = userDefaults.synchronize()
XCTAssertEqual(userDefaults.string(forKey: "key"), "value") //nil is not equal to "value"
}
static var allTests = [
("testUserDefaults", testUserDefaults)
]
}
UserDefaults
似乎是implemented in Swift Core Libs here,可以在Linux上使用,所以我不确定为什么它不起作用。