【问题标题】:SwiftUI preview breaks with error: <unittest.file> not found in any targetsSwiftUI 预览因错误而中断:在任何目标中都找不到 <unittest.file>
【发布时间】:2021-01-15 11:36:13
【问题描述】:

我目前的配置(Big Sur 11.1 (20C69)、Xcode 12.3 (12C33))有问题

withCouldNotFindInputNodeInBuiltGraphError<XcodeGraphSource, PreviewTranslationUnit>: WeeklyPlanViewModel_Tests.swift not found in any targets
WeeklyPlanViewModel_Tests.swift must belong to at least one target in the current scheme in order to use previews

我所做的任何更改都没有让我再次运行预览。

清除项目构建,删除完整的“DerivedData”,同时停用此单元测试文件(仅此一个可用)并从项目中完全删除单元测试目标:没有任何帮助修复预览功能。

除了让预览再次运行,我还能做什么?

有趣的事实是,当新建一个项目时,复制项目内的所有文件(没有任何测试),并尝试预览,它可以工作一段时间。但是我不能没有测试就开发。在 git-commit 并插入一些测试文件后,它会工作一两次,然后停止。并且没有 git-reverting 到以前的提交,让预览再次焕发生机。

【问题讨论】:

  • 我的机器上也有这个问题。这令人沮丧,因为没有明确的根本原因。它似乎也很少见。我已经能够通过退出/删除派生数据/启动 Xcode/删除单元测试/运行预览/添加单元测试的例程来取回预览。和你一样,我一直在重建整个项目。这就是我解决问题的方式。我希望这个问题能得到解决,这就是我们现在所能做的。
  • 我今天开始遇到这个问题。过去几天我一直在进行单元测试,所以我不确定这是否与它有关。 @BartvanKuik 你的修复对我不起作用。
  • @LondonGuy 是的,它也停止了对我的工作。有帮助的是,将所有单元测试放在一个巨大的文件中。这是一个暴行,但它有帮助。
  • @BartvanKuik 我设法修复它。我已经发布了答案。

标签: unit-testing swiftui preview


【解决方案1】:

我设法解决了这个问题。当我开始在我的主 Tests 组中创建单独的组来保存各种测试文件时,我认为 Xcode 在某处感到困惑。

我是如何解决的:

  1. 重命名类。例如,我的测试类原本是SomeClass。我将其重命名为SomeClass2

  2. 使用 File > New > File 创建一个新的测试文件,并为其指定您重命名的类的原始名称SomeClass

  3. 将您的测试复制并粘贴到该文件中。

  4. 删除旧的测试文件。

这立即为我解决了这个问题。我猜 Xcode 出了点问题,它找不到有问题的文件。

【讨论】:

    【解决方案2】:

    我以前一直有这个问题,但意识到我有一段时间没有遇到过。我想这是因为我大部分时间都在使用 Xcode 13b1(b2 和 b3 暂时破坏了我们的源代码)。

    我想我通过删除并重新添加文件解决了这个问题。将其从目标中移除是不够的,我必须将其从项目中移除,然后再将其放回。

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 2021-01-02
      • 2016-04-26
      • 2022-10-18
      • 2015-02-25
      • 2019-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多