首页 / 知识
.NET测试命名约定
2023-04-16 16:15:00

.NET Testing Naming Conventions在.NET(或任何其他语言或平台)中命名测试程序集的最佳约定是什么? 我主要划分的是这些选项(请提供其他选项!):
要么
第一个解决方案的问题在于,看起来.Tests是该站点的子命名空间,而在我看来,它们确实更加相似。 当一个新的子命名空间(例如Company.Website.Controls)开始发挥作用时,会发生什么情况?例如,我应该将该命名空间的测试放在哪里? 甚至应该是:Tests.Company.Website和Tests.Company.Website.Controls,依此类推。 我会去
简短的原因和答案很简单,测试和项目通过代码链接在一起,因此应该共享名称空间。 如果您想拆分代码并在解决方案中进行测试,则仍然可以选择该选项。例如您可以使用以下方法设置解决方案 -代码文件夹
-测试文件夹
我个人会去 公司。测试网站 这样,您将拥有一个通用的测试名称空间和其中的项目,并遵循与实际项目相同的结构。 我实际上有一个备用并行根。 Tests.Company.Web站点 当您拥有新的子命名空间时,它可以很好地消除歧义。 我非常喜欢这样构造测试名称空间: Company.Tests.Website.xxx Company.Tests.Website.Controls 像您一样,我将测试视为与主代码的并行名称空间结构,这为您提供了这一点。这样做还有一个好处,因为命名空间仍然以您的公司名称开头,因此您与第三方库之间的命名冲突不会出现 我也更喜欢以" Tests"作为程序集实际名称的前缀,这样当我批量选择它们放入NUNit或使用的任何测试工具中时,可以轻松地按字母顺序列出所有我的单元测试程序集。 因此,如果网站是我的解决方案(和程序集)的名称,我建议- Tests.Website.dll与实际的代码汇编Website.Dll一起使用 我们遵循嵌入式方法:
这样,测试就可以与正在测试的代码接近,而不必在项目之间来回切换或寻找引用以确保存在涵盖特定方法的测试。我们也不必维护两个单独的但完全相同的层次结构。 当我们增强和开发时,我们还可以测试代码的不同部分。 乍一看似乎有些不可思议,但从长期来看,它对我们来说确实运作良好。 随着MVC开始在.net Web开发世界中成为现实,我将开始沿着这些思路进行思考。请记住,M,V和C是不同的组件,因此:
网站是您的轻量级视图。 对于某些人来说,这可能是过大的杀伤力,但我发现它使我可以很容易地将关注点分开。 我更喜欢Company.Website.Spec,每个解决方案通常有一个测试项目 我更喜欢: 公司网站测试 我不在乎像Company.Website.Controls这样的子命名空间,所有测试都进入同一个命名空间:Company.Website.Tests。您不希望您的测试名称空间与其余代码并行存在,因为它只会使重构名称空间花费两倍的时间。 为了简化解决方案资源管理器中的简洁性,我通常将测试项目命名为Project-Tests,并将命名空间使用Company.Namespace.Tests。 |
最新内容
相关内容
linux进入网站命令?
linux进入网站命令?,系统,环境,网站,传播,终端,命令,窗口,快捷键,界面,虚拟机,虚拟机中的linux怎么进入命令方式点击打开开始菜单里的终端。打linux入侵网站命令?
linux入侵网站命令?,工作,地址,信息,系统,数字,网站,名称,命令,网络,密码,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux命令多个选项?
linux命令多个选项?,系统,工作,基础,信息,命令,工具,数据,不了,名称,环境,Linux系统基础操作指令1、linux常用命令有pwd命令、cd命令、ls命令linux常用命令选项?
linux常用命令选项?,工作,系统,信息,地址,管理,命令,标准,网络,目录,常用命令,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列linux没有命令行选项?
linux没有命令行选项?,系统,首页,命令,工具,分析,第一,软件,异常,终端,空格,不知道为什么在linux命令行下输入一些命令怎么都显示没有找到?1、linux网站根目录命令?
linux网站根目录命令?,系统,一致,设备,网站,目录,根目录,信息,标准,位置,电脑,Linux中怎么切换到根目录?1、找到需要移动文件选择。右键而后选linux访问网站的命令?
linux访问网站的命令?,地址,系统,服务,工作,网站,命令,网络,管理,信息,网址,Linux必学的网络操作命令Linux的网络命令比较多,其中一些命令像pinlinux命令行登陆网站?
linux命令行登陆网站?,网站,系统,密码,服务,地址,环境,网络,软件,状态,项目,在Linux下怎么通过命令上网首先,连接相应linux主机,进入到linux命令linux命令选项说明?
linux命令选项说明?,系统,标准,地址,设备,命令,工作,软件,工具,基础,数据,Linux命令大全1、linux常用命令有pwd命令、cd命令、ls命令、cat命令linux登陆网站命令?
linux登陆网站命令?,网络,工具,网站,标准,地址,软件,系统,命令,数据,环境,linux如何用命令行登录?1、首先在桌面模式下,右键点击open in terminlinux命令打开网站?
linux命令打开网站?,网络,网站,系统,地址,密码,传播,工具,代码,环境,命令,大学生通关这几个编程游戏1、Hack The Game Hack The Game是一款好linux7个命令选项?
linux7个命令选项?,标准,管理,系统,基础,地址,命令,环境,单位,工具,信息,linux必学的60个命令_linux必学的60个命令怎么读起来简单安装和登录