什么叫单元测试(unit testing)?是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函 数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中 要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。步骤1、创...
我有一些测试,他们严重依赖一些我无法修改的共享代码.这个共享代码有时会引发异常,我希望能够处理这个异常的所有未捕获实例,而不必在try catch中包含对共享代码的每次调用(这里有多年的测试).
我还希望能够重新抛出那些不是我正在寻找的类型的异常.
我试过了public void init()
{AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
}
void CurrentDomain_UnhandledException(object sender, Unhan...
我正在测试一个模块,其中每个测试类共享相同的行为:
>开始交易>执行SQL查询>回滚事务
我决定使用TestInitialize和TestCleanup分别执行事务的Begin和Rollback.
strait forward方法是在父类中编写TestInitialize / TestCleanup,但这不适用于此测试框架.
解决这个问题的方法是使用部分类.在我的情况下,这种方法似乎是可行的,因为我的测试类主要是无状态的.事件不是理想的解决方案,它至少为我节省了几个复制/粘贴操作.
谁知道更好的方...
我搜索过这些信息并看到类似的问题,但没有一个与此非常接近的问题.如果我错过了一个,我道歉.我希望你能指出我的方向.我正在开发基于Silverlight的项目,我的团队终于开始实施单元测试了.我和我团队的另一个成员负责推荐项目的单元测试框架.我们的基本标准是:
>该项目包含标准的ASMX .NET Web服务和Silverlight前端.如果可能的话,我们希望始终保持相同的测试属性,而不是使用一组用于Silverlight测试而另一组用于其他代码.>与VS 2008...
创建解决方案
在本部分中,将创建包含源和测试项目的解决方案。 已完成的解决方案具有以下目录结构:
?
/unit-testing-using-dotnet-testunit-testing-using-dotnet-test.sln/PrimeServicePrimeService.csPrimeService.csproj/PrimeService.TestsPrimeService_IsPrimeShould.csPrimeServiceTests.csproj以下说明提供了创建测试解决方案的步骤。 有关通过一个步骤创建测试解决方案的说明,请参阅用于创建测试解决方案的命令。打开 s...
创建解决方案
在本部分中,将创建包含源和测试项目的解决方案。 已完成的解决方案具有以下目录结构:
?
/unit-testing-using-dotnet-testunit-testing-using-dotnet-test.sln/PrimeServicePrimeService.csPrimeService.csproj/PrimeService.TestsPrimeService_IsPrimeShould.csPrimeServiceTests.csproj以下说明提供了创建测试解决方案的步骤。 有关通过一个步骤创建测试解决方案的说明,请参阅用于创建测试解决方案的命令。打开 s...
文章目录什么是接口?为什么要使用接口?例1:对一组整数进行求和,求平均值操作例2:汽车的启动需要引擎例3:手机坏了怎么办依赖反转原则例4:全能的司机单元测试什么是单元测试?例5:不准乱碰电源(3)进行标准的单元测试补充
什么是接口?
接口的本质:功能的调用者与功能的提供者之间共同遵循的契约(contract)
为什么要使用接口?
在代码中,如果有可以替换的地方,就一定有接口的存在;接口就是为了松耦合而生,而松耦合最...
目录
1.单元测试概念
2.单元测试的原则
3.单元测试简单示例
4.单元测试框架特性标签
5.单元测试中的断言Assert
6.单元测试中验证预期的异常
7.单元测试中针对状态的间接测试
8.单元测试在MVC模式中的实现
8.单元测试相关参考
9.示例源代码下载
志铭-2020年1月23日 11:49:411.单元测试概念什么是单元测试?
单元测试(unittest)是一段自动化的代码,用来调用被测试的方法或类,而后验证基于该方法或类的逻辑行为的一些假设。
简而言...
我正在执行自动启动Windows应用程序的测试.启动Windows应用程序;使用的代码是Application.Run(Client.MainForm.GetInstance())“;.仅在关闭Windows应用程序后,调试点才会从这段代码中出现.
在那之前,我无法运行任何其他测试.如果我尝试这样做; Visual Studio引发错误“无法启动多个本地运行”.有没有解决这个问题的方法?解决方法:单元测试并非主要用于启动/停止GUI,而是用于测试GUI外部的代码块.但是,如果您打算这样做,则可以添...
我有一个MVC项目和许多TDD单元测试,用于测试所有数据传递是否正常.但是,我现在将为GUI添加一些测试.
我将如何测试以下内容:
如果为home / page1,则按“下一步”提交应转到“ / Page2”.
我仍然不太了解如何对基于UI的功能进行测试.解决方法:如果要测试控制器的动作,可以执行类似的操作(我在这次测试中假设很多事情,但希望您能掌握要点)[Test]
public void Page1_Post_IfallDataOK_ShouldSaveAndReturnPage2()
{var controller = n...
对于由最多4人的小型团队完成的小型和短期项目,TDD是否是一种好的方法?这真的是一项有利可图的努力吗?
那单元测试呢? TDD包含单元测试,但没有相反的含义.在项目开发生命周期中不时进行单元测试是否足够,直到合理的代码覆盖率为止?解决方法:对我而言,这并不能归结为项目是小还是短.正确完成的TDD是关于能够快速运行一组对代码完全有信心的测试.关于TDD的文章也很多,也有助于推动针对项目的适当设计.
因此,您可能会认为TDD在小型...
我正在尝试使用自定义角色提供程序方法.每个测试都是独立的,这意味着它独立于其他测试,并且在每个测试中我都创建了测试用户,测试角色等.很好,我知道其他方法,但是适合此目的.
所以,我在努力与can_get_roles_for_user,这是代码[Test]
public void can_get_roles_for_user()
{MembershipCreateStatus status = new MembershipCreateStatus();provider.CreateUser("testuser", "password", "testuseremail@google.com", "question", "...
我开始更多地进行单元测试.我有一个项目,其中Excel是“引擎”,因此无法将其取出(目前).我需要为工作簿提供各种输入,在工作簿中运行一个宏,然后收集结果.这是一本令人讨厌的工作簿,因此,从中删除任何内容都不是一个选择.
因此,鉴于主要依赖项是Excel.Interop对象,如何设置几乎所有代码都在Excel中运行的单元测试?解决方法:从理论上讲,“单元测试”应尽可能少地进行测试,并尽可能多地模拟依赖项.使用Excel,即使不是不可能,也可能会非...
我正在为正在处理的C#项目设置一些单元测试,因此我选择使用Visual Studio的内置单元测试项目.问题是我一直在为项目中的大多数类提供默认的内部访问级别.现在,我的单元测试项目无法访问它们,因为它是一个不同的程序集.
只公开我在项目中的所有类,以便单元测试项目可以访问它们,这是微不足道的,但是保留仅由项目内部在内部使用的类不是习惯吗?解决方法:您可以使内部对测试项目可见-有关更多信息,请参见here
我想使用Akka.net TestKit编写单元测试,但是我有一个问题.我有一个SubscriptionService类,负责将消息传输到选定的参与者.public class SubscriptionService : ReceiveActor
{private readonly ActorSelection service1;private readonly ActorSelection service2;public SubscriptionService(){this.service1 = Context.ActorSelection("Service1");this.service2 = Context.ActorSelection("Service2");this.Receive<RequestMessa...