【发布时间】:2017-04-12 02:44:17
【问题描述】:
我正在开发一个具有多个后端的数据库 DSL。为了避免对用户造成不必要的依赖,DSL 被分成一个“核心”包,包含 DSL 本身,每个后端都有一个包。后端包都依赖于核心包,因为它定义了每个后端需要提供的API。
现在,我想为我的 DSL 添加一个测试套件。由于大多数被测试的功能都存在于核心包中,这就是我想要放置测试套件的地方。然而,为了真正运行任何测试,至少需要一个后端。这意味着测试套件同时依赖于核心包和后端包,而后端包又依赖于核心包,形成循环依赖。
显而易见的解决方案是为仅依赖于核心和后端的测试创建另一个包,或者将后端 API 移动到核心和后端包可以依赖的自己的包中(允许后端不依赖于核心包)。但是,如果可能的话,我希望保持包结构不变,并将测试套件作为核心包的一部分。
这可能吗?
【问题讨论】: