为方便起见,您是否将单元测试放在同一个项目中,或者将它们放在单独的组件中?
如果你像我们一样将它们放在一个单独的程序集中,我们最终会在解决方案中添加一些额外的项目.这对于编码时的单元测试很有用,但是如果没有所有这些额外的组件,你如何发布应用程序呢?
每个解决方案的单元测试项目或每个项目的单元测试项目是否更好?
根据解决方案,如果您在解决方案中有5个项目,则最终会得到1个单元测试项目,其中包含5个项目中每个项目的测试.
对于每个项目,如果您在解决方案中有5个项目,则最终会有5个单元测试项目.
什么是正确的方法?
我认为这与写单元测试到装配或单独装配中的问题不同?
在.NET中,您应该将单元测试项目与其余解决方案放在一起吗?或者是否应该有一个包含所有测试项目的测试解决方案?
我们的代码库解决方案中包含所有测试项目......看起来有点麻烦.
你平常都做什么?
我在F#中编写了一个大型模块,恰好有一个简单的界面.该模块包含大约1000行代码,50个单元测试,并只导出一个易于理解的功能.
接下来要做的就是编写一个小的fsi文件.这有许多优点,包括防止命名空间污染,为文档提供明显的位置,确保如果有人决定重用内部,他们将有动力干净地将它们分解出来,毫无疑问,许多其他人.我相信我在这里向合唱团讲道,但仍然觉得值得解释为什么我认为有fsi文件是有帮助的.
现在问题.NUnit将不再运行单元测试,谴责声称它们不公开.那么,那将是因为它们不以任何方式成为界面的一部分.我并不特别希望将它们添加到界面中,尽管如此,因为它意味着每次添加另一个测试时都会更新它,并且它会使fsi文件膨胀一个数量级.
我想一个简单的解决方法是将代码移动到其他地方,将其导入到一个很小的.fs文件中,然后转发一个函数.幸运的是,每个人都会认为这只是令人反感.请问有更好的方法吗?
编辑:非常感谢所有回复的人.我赞同这两个答案.我本来想分开赏金,但是因为这似乎不可能(我有点随意)接受Tomas的回答.