Seb*_*son 19 .net testing unit-testing naming conventions
在.NET(或任何其他语言或平台)中命名测试程序集的最佳约定是什么?
我主要分为这些选项(请提供其他人!):
要么
第一个解决方案的问题在于它看起来像.Tests是网站的子命名空间,而它们在我的脑海中确实更加平行.当一个新的子命名空间发挥作用时会发生什么,例如Company.Website.Controls,我应该在哪里放置该命名空间的测试?
也许它应该是:Tests.Company.Website和Tests.Company.Website.Controls,等等.
Cla*_*sen 22
我会去的
* Company.Website - the project
* Company.Website.Tests
Run Code Online (Sandbox Code Playgroud)
简短的理由和答案很简单,测试和项目在代码中链接,因此它应该共享命名空间.
如果您想要在解决方案中拆分代码并进行测试,那么无论如何都可以使用该选项.例如,您可以设置解决方案
-Code文件夹
- 测试文件夹
我实际上有一个备用并行根.
Tests.Company.Website
当你有新的子命名空间时,它可以很好地消除歧义.
我是构建测试命名空间的忠实粉丝,如下所示:
Company.Tests.Website.xxx
Company.Tests.Website.Controls
像你一样,我认为测试是主代码的并行命名空间结构,这为你提供了这些.它还具有以下优点:由于命名空间仍以您的公司名称开头,因此您不应与第三方库发生任何命名冲突