我想在几个项目中使用 ThrowTheSwitch Unity 进行单元测试,所以我有这个通用结构:
.
├── README.md
├── Makefile
├── src
│ ├── ...
│ └── main.c
└── test
├── vendor
│ ├── unity.c
│ └── unity.h
└── test_main.c
为了包括统一,我可以使用不同的方法:
- Git 子模块
- 优点:仅 git,一个单一的事实来源
- 缺点:获取所有统一存储库,而只需要 3 个文件
- 具有稀疏结帐的 Git 子模块
- 优点:只得到我需要的
- 缺点:需要一些技巧来启用稀疏结帐
- Git 子树
- 优点:如果没有可用的互联网是安全的
- 缺点:在历史上保留统一的本地副本
- 从发布中获取 Wget
- 优点:非常简单,非常有效
- 缺点:依赖
wget
和tar
互联网(没有本地缓存)
- unity的本地副本
- 优点:最简单的解决方案,有效
- 缺点:不是 SSOT,所有类似的项目都会有他们的本地统一副本,不知道同步了哪个统一版本。
以上方法似乎都不是完美的,我不知道该选择哪一种。最好的解决方案是拥有一个简单的包管理器,其中包含一个package.json
列出我的依赖项及其版本的文件。
还有其他/更好的解决方案吗?