我怎样才能得到代码覆盖率信息?
How can i get the code coverage percentage information?
我正在尝试在 swift 中进行单元测试。我有一个名为 MyFileManager
和 SomeViewModel
的两个 class
class MyFileManager {
static let shared = MyFileManager()
func isStored(atPath path: String) -> Bool {
return FileManager.default.fileExists(atPath: path)
}
func readData(atPath path: String) -> Data? {
return try? Data(contentsOf: URL(fileURLWithPath: path))
}
}
class SomeViewModel {
func getCachedData() -> Data? {
let path = "xxxxx"
if MyFileManager.shared.isStored(atPath: path) {
return MyFileManager.shared.readData(atPath: path)
} else {
return nil
}
}
}
我写了一个测试代码。我不确定这段代码是否会给我 100% 的代码覆盖率。这是单元测试
class LinePhoneTests: XCTestCase {
override func setUpWithError() throws {
testGetCachedData()
}
func testGetCachedData() {
let viewModel = SomeViewModel()
let data = viewModel.getCachedData()
XCTAssertFalse((data != nil))
XCTAssertTrue((data == nil))
}
}
如何获取代码覆盖率信息?
您可以采取一些措施来监控代码覆盖率以帮助您编写测试。
在您的方案中启用代码覆盖率设置:
打开此菜单项:
然后在您的源文件中,您会在角落看到一个装订线:它将向您显示一个数字,指示执行此行的测试数量,并以红色表示未执行的行。
并且您可以在构建结果中看到代码覆盖率下的百分比:
使用这些工具,您可以编写测试来练习您需要达到 100% 的代码路径,或者您可以判断错过的测试是否重要。
我正在尝试在 swift 中进行单元测试。我有一个名为 MyFileManager
和 SomeViewModel
class MyFileManager {
static let shared = MyFileManager()
func isStored(atPath path: String) -> Bool {
return FileManager.default.fileExists(atPath: path)
}
func readData(atPath path: String) -> Data? {
return try? Data(contentsOf: URL(fileURLWithPath: path))
}
}
class SomeViewModel {
func getCachedData() -> Data? {
let path = "xxxxx"
if MyFileManager.shared.isStored(atPath: path) {
return MyFileManager.shared.readData(atPath: path)
} else {
return nil
}
}
}
我写了一个测试代码。我不确定这段代码是否会给我 100% 的代码覆盖率。这是单元测试
class LinePhoneTests: XCTestCase {
override func setUpWithError() throws {
testGetCachedData()
}
func testGetCachedData() {
let viewModel = SomeViewModel()
let data = viewModel.getCachedData()
XCTAssertFalse((data != nil))
XCTAssertTrue((data == nil))
}
}
如何获取代码覆盖率信息?
您可以采取一些措施来监控代码覆盖率以帮助您编写测试。
在您的方案中启用代码覆盖率设置:
打开此菜单项:
然后在您的源文件中,您会在角落看到一个装订线:它将向您显示一个数字,指示执行此行的测试数量,并以红色表示未执行的行。
并且您可以在构建结果中看到代码覆盖率下的百分比:
使用这些工具,您可以编写测试来练习您需要达到 100% 的代码路径,或者您可以判断错过的测试是否重要。