> For the complete documentation index, see [llms.txt](https://yongpenglovemimi123.gitbook.io/henry/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yongpenglovemimi123.gitbook.io/henry/ios/testable.md).

# @testable

今天看苹果文档，无意间发现了 @testable 关键字，解决了我之前的问题，库里面的不可见或私有代码如何在库外面的目标项目里面进行调用和测试。

我们下面来看下 它是如何解决的，比如我在仓库中定义了ABC这个类，但是这个类并不是 public 或 open 的，所以外面是无法调用的，但是你可以加 @testable 关键字在 import 之前，就可以调用了。

并且 我们可以在项目中的 build setting 里面设置 在何种 configuration 下开启。

![](https://964606286-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M114Zqgo1V0DJ4FaGQa%2F-M4rTZFHkPkAaYEvB7RB%2F-M4rV7gHDwRGjPnq9O9X%2FWechatIMG30689.png?alt=media\&token=e586e35e-f807-41db-be72-5520d5098d59)

![](https://964606286-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M114Zqgo1V0DJ4FaGQa%2F-M4rTZFHkPkAaYEvB7RB%2F-M4rVEGkQoq0YjYyDeuH%2FWechatIMG30690.png?alt=media\&token=41996bdf-4d4d-4e2e-958a-d4f3edde0406)

![](https://964606286-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M114Zqgo1V0DJ4FaGQa%2F-M4rTZFHkPkAaYEvB7RB%2F-M4rVfscjzxo6XcqLfbD%2FWechatIMG30698.png?alt=media\&token=d4ff909f-455a-4c1d-a91e-3c4289d2e28f)
