如何打包测试和类的正常实现

时间:2011-12-05 10:49:22

标签: oop architecture

我不太确定这个问题是否与此相关;也许它太高了。

假设我有一个接口Foo,它由另外两个具体的类FooProductionFooTest实现。第一个是生产代码,另一个是测试实现。现在我想打包一切,但我不确定哪个更合适。移动测试包中的FooTest类(我保留所有测试)或将FooFooProductionFooTest保留在另一个包中,让我们说foo包?

2 个答案:

答案 0 :(得分:3)

我会说,确保FooTest 永远不会找到它在生产机器上的方式将是最高优先级。因此,我的投票将是在Test / Production边界划分事物。

我不知道你实际使用的语言是什么,但在Java世界中,Maven软件管理系统非常受欢迎且普遍受到好评,并且它在所谓的之间做出了极为强烈的区分。 “main”和“test”代码,资源文件和依赖项。实际上,在他们的文档中,他们表明这是一个"testing best practice"

关于在哪里放置接口Foo及其FooProduction实现,这实际上是个人(或网站)偏好的问题。我喜欢有一个包含所有域模型对象的包,例如。

答案 1 :(得分:1)

FooTest应该位于与生产代码不同的包中 IFooFooProduction是否应该放在同一个包或两个单独的包上取决于FooProduction的可变性(您将来要查找的实现数量)