为测试创建一个单独的包

Posted

技术标签:

【中文标题】为测试创建一个单独的包【英文标题】:Creating a separate package for tests 【发布时间】:2020-02-21 03:08:51 【问题描述】:

在开发一个包时,将测试放在一个完全独立的包中是否可行/可能/一个好主意?我也会将该软件包用于工厂和种子开发。我有一个应用程序,它由许多不同的包(API、前端、后端 - 由我自己编码)组成。我以前没有见过这样做,谷歌似乎没有产生任何结果,但它似乎“技术上”是可能的。有什么陷阱或建议可以劝阻我(或以其他方式)吗?

【问题讨论】:

您能解释一下为什么要将测试与代码库分开吗? 真正的组织更多。我喜欢将测试排除在代码库之外的想法(如果可能的话)。此外,播种机和工厂的使用感觉根本不应该放在我的包中,但我希望他们在开发时进行测试。 另外,这更方便,我可以同时为所有三个包运行一套测试,但这更多的是关于组织。 【参考方案1】:

很高兴看到您正在测试您的项目并考虑以一种有效的方式进行。我认为如果您阅读 Laravel docs on testing 可能会有所帮助,因为 Laravel 确实包含一些开箱即用的简洁功能,用于测试。但我会简单地创建一个单独的“测试”包,有一些组织,比如在测试目录中为前端、后端和 API 创建单独的命名空间/目录。

我希望能回答这个问题。

【讨论】:

以上是关于为测试创建一个单独的包的主要内容,如果未能解决你的问题,请参考以下文章

logback为单独的包或者类配置输出文件

在黄瓜测试中切换功能标志值

在 Golang 和 MongoDB 中将路由拆分为单独的包

接口应该放在单独的包中吗? [关闭]

是否可以仅通过编写 debian/rules 编译两次并构建单独的包?

为语义发布的包生成变更日志