gpt4 book ai didi

ios - 测试类的 bundle 会在Xcode 10中返回主 bundle ,而不是单元测试 bundle

转载 作者:行者123 更新时间:2023-12-01 19:44:00 28 4
gpt4 key购买 nike

我们有托管在应用程序中的单元测试。要加载测试资源,我们使用:Bundle(for: TestClass.self).path(forResource: "some-file", ofType: "json")

在Xcode 9中,它返回了以下内容:/var/folders/4k/dzpnw8352jn_fl5hcc76pjs8k9qytq/T/com.apple.dt.XCTest/IDETestRunSession-707F04EA-2C21-4BA4-8730-00B0EC0F708F/UnitTests-2C97055A-9154-4521-9D12-7CF32FC38793/Session-UnitTests-2018-06-08_141829-RGxhj2.log
但是在Xcode 10 Bundle中(for:TestClass.self)返回应用程序包路径/Users/user/Library/Developer/CoreSimulator/Devices/118AACB9-486C-4E3B-94EA-257C3F082AE1/data/Containers/Bundle/Application/4234B280-E49C-4044-BAF4-CBFFEA8AFDB4/App.app
由于这些文件包含在单元测试目标中,因此无法再找到它们

更新:

在Xcode 10.1中修复

最佳答案

这可能是Xcode 10 / Swift 4.2中的错误,因为发行说明中还有另一个与Bundle相关的错误。您绝对应该提起雷达以确保问题已被发现。

从Xcode 10 Beta发行说明

•Foundation API Bundle.init(for:AnyClass)在从通用类继承的类上使用时始终返回应用程序束,即使该类本身不是通用的。 (40367300)

作为一种可能的解决方法,您可以考虑使用测试目标的捆绑包标识符。

要找到测试目标的捆绑包标识符,请看这里:
enter image description here

更新资料

似乎Bundle一直是Xcode 10的一个持续问题(确实是Swift 4.2出现了问题)。

从Xcode 10.1 beta 2 release notes

•Bundle类的init(for :)初始化程序现在可与Swift类保持一致,包括未在最新的操作系统版本上运行时。 (44489216)

关于ios - 测试类的 bundle 会在Xcode 10中返回主 bundle ,而不是单元测试 bundle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50759908/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com