今天,在Visual Studio 2010中进行单元测试的首选选项是什么?

如何解决今天,在Visual Studio 2010中进行单元测试的首选选项是什么?

| 我是TDD的新手,正在寻找对Visual Studio 2010解决方案进行单元测试的选项。此解决方案是MVC3网络应用程序,我正在尝试将DDD与IoC,存储库和工作单元模式一起使用。它还使用EF4和EF4 POCO模板。 (我尝试通过Microsoft N层应用程序对它进行建模,并且还借鉴了其他两个博客的设计模式)。 我一直在搜索和阅读有关此内容的信息,这已经有几个小时的时间了,看来我到处都是发现矛盾的信息。这主要是由于出现了旧的结果以及Visual Studio 2010不断发展的选项。 我知道有几种选择,但是同样,我很难从较新的选项中识别出过时的选项,而且人们使用的参考文献有些含糊。即使是这里的热门讨论也有一些古老/模棱两可/矛盾的信息。 例如: MSTest,Visual Studio单元测试框架和“ 0”之间有区别吗?如果是这样,该怎么办?看来这些是不同的,但是在我所见过的一些讨论中并未正确提及。 由于NUnit的作者还创作了xUnit,这是否意味着xUnit替代了NUnit,从而使NUnit弃用了?似乎有些人甚至在今天仍然更喜欢NUnit。但是,如果不赞成使用NUnit,为什么今天要开始在xUnit上使用NUnit?如果不建议使用NUnit,这是否意味着xUnit不会像最初打算的那样起飞?为什么作者会继续支持两个看似多余的工具? 其中哪些集成到了VS2010中,而不必诉诸单独执行的命令行进行测试,也不必购买诸如TestDriven.Net之类的工具? (不过,如果支持任何一种,我确实有ReSharper。) 最近是否有任何显着变化,这些变化会使较早的讨论无效? 除了上面提到的内容之外,我是否还应该考虑其他内容? 我并不一定要进行深入的比较(不过,如果您愿意的话,欢迎您提供比较结果),但更多的是对当前正在使用的工具的最新共识今天用于新的VS2010开发。 从表面上看,“ Visual Studio单元测试框架”似乎可以很好地集成到VS2010(Pro)中,并且与其他一些软件相比,似乎很容易快速启动和运行,即使它有点肿。但是由于我是新手,所以我不想在接下来的三个月内进入,然后意识到我已经把自己画在了一个角落,只是因为它似乎更容易上手。 我也知道,由于它的开放性和广泛性,某些人可能将其视为“坏”问题,但是尽管这些是不同的问题,但我认为它们都是相关的,并且都源自我对在VS2010中进行单元测试时发现的模棱两可和矛盾的地方普遍感到困惑。 提前致谢。 编辑:这是为了更多地更新我上面链接的将近三年的流行讨论。该讨论有一些优点,但是三年内很多事情(可能)已经改变,我喜欢对该主题进行最新的评估。     

解决方法

都一样..只是confusopoly(MSTest是运行程序,框架是DLL)。从现在开始,我将其称为MSTest。 使用xUnit不会花费很多精力。我坚定地躺在NUnit阵营中。不确定其历史..但微软甚至聘用了AFAIR Jim Newkirk进行MSTest开发。我绝对可以回答说NUnit不会被弃用(甚至放慢速度)。我只是在报告错误的几天内修复了一个错误。查理·普尔(Charlie Poole)担任该职位已有一段时间了(并从事出色的工作)。 NUnit是最古老的(并且基于以Beck \的SUnit和JUnit开头的xUnit测试运行程序系列)。我已经长大了(可以这么说)。它只是保持顺畅,并具有您日常开发所需的几乎所有功能。 MSTest提供了VisualStudio集成,但是使我感到困惑的是微小的细微偏差(并行化,夹具设置必须是静态的,等等)。其他人则尝试以不同的方式(术语的改变,例如关于测试夹具的理论上的改变)和编写测试的方式来扩展测试运行程序。我从来不需要延长测试运行时间;也许我没有在需要它的环境中工作。 NUnit不像MSTest那样现成集成。但是,如果您有Resharper(应该这样做),它将填补这一空白。另外,与NUnit不同,MSTest AFAIK还需要整个IDE(特定版本)的副本,该副本可以复制到文件夹中并运行。带有“如果您使用MSTest \,则免费提供代码覆盖”的功能使您进入TFS。如果您的组织使用TFS进行CI,您会发现除了MSTest以外的其他任何东西都是“我需要编写的更多自定义代码”。 4和5事物不断变化,以至于难以形成最终答案。 简介:NUnit更易于学习(将花费您一天或更短的时间),并且大多数文献都包含在内。如果您知道的话,TDD会更容易接受。我个人从来没有理由要搬家(例如,NUnit不像xUnit那样做,没有这个我就活不下去)。除非您精通MS-CI(以及“免费”覆盖率和TestImpact),否则我会说从NUnit开始并逐步发展。没有银牌测试员。 该工具不能保证成功,这是您使用这些工具的方式。选择一个,开始并适应。 高温超导     ,        这不是改变生活的决定。我在某些项目中使用MSTest,在其他项目中使用NUnit。我从未尝试过xUnit,但我也确定它也很好。 对于我自己,我更喜欢MSTest只是内置模板和按键绑定的b / c,可以使测试快速运行和设置。就是说,如果开发团队中的任何人都不能使用VS,那就太无聊了。 使用NUnit时,我不想为Resharper付费(对不起,我看到了它的实际作用,但我只是没有看到它的亮点)。我改用Visual NUnit。 http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099它是免费的,与Visual Studio的UI集成在一起(尽管它不是一个漂亮的UI,但是它\比TestDriven.NET更好的imo)。     ,        ReSharper可以运行以xUnit,NUnit和MSTest编写的测试。 xUnit需要ReSharper的(免费)插件,该插件可从xUnitContrib页面链接到:http://xunitcontrib.codeplex.com/ NUnit和MSTest都可以立即使用。 在ReSharper中,您可以在ReSharper-> Options-> Unit Testing(位于左侧窗格中工具下方的底部)下查看安装了哪些单元测试框架。     ,        我可以回答#3:TestDriven与VS2010很好地集成。 您可以获得一个上下文菜单选项来运行测试,甚至可以将某些命令挂接到快捷键上,从而可以快速运行所有测试。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-