我有一些测试,他们严重依赖一些我无法修改的共享代码.这个共享代码有时会引发异常,我希望能够处理这个异常的所有未捕获实例,而不必在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...
我是单元测试的新手,我试图编写一个测试来验证在更新用户对象时是否正在更新正确的字段.我的单元测试如下:[Test]
public void ShouldUpdateExistingEmployee()
{var employees = new Employee[]{new Employee(){EmployeeId = 1,FirstName = "Johhn",LastName = "Smiths",Email = "John.Smith1@Illinois.gov",IsActive = true}};var mockContext = new Mock<SqlContext>();mockContext.Setup(e => e.Employees).ReturnsDbSet(emplo...