Cho*_*man 2 c# tdd resharper unit-testing visual-studio
使用Visual Studio 2017 NUnit和resharper测试运行器,在大型c#项目(5000+)测试中进行TDD时如何保持良好的单元测试速度.即使每个测试只需要5ms,也就是25秒,这对于TDD周期来说非常慢.
我们的测试不会调用数据库,也不会调用外部Web服务.他们只测试业务逻辑.
我发现使用moq,单独执行Mock.Setup()需要大约1ms.由于每次测试可能会有几个moq设置调用,这是我们慢速单元测试的罪魁祸首.
有没有办法加快单位测试的速度?有没有比moq更快的模拟库?或者可能是另一个更快的测试运行器?
你是整个错误的兔子:所有单元测试的整体运行时间仍在一个非常合理的范围内!
在进行开发(可能使用TDD)时,您并不关心所有单元测试.您只关心与当前组件/包/ ...相关的那些!
如下所示:当您对文件进行更改时A,您可能希望(手动)运行目录中的所有单元测试A.您进行另一个小的更改,再次运行这些测试.
然后,当你想到:"我现在已经完成了",然后你调用所有的单元测试,以确保你没有在建筑物的另一端打破某些东西,重新安排那个房间的家具.
所以,答案是:你很好,不要担心.
我们有5000多个Java单元测试.在我们最快的构建服务器上,它们可能需要大约10分钟才能完成.但那还是可以的.后端版本在20分钟后仍会恢复,并告诉我们"破损"或"一切正常".为什么?因为构建服务器只在我决定我的更改集完成时启动,然后我将其推送到服务器.
当这25秒是一个问题,那么因为你经常运行所有测试,因为你手动触发它们.现在:相当花费你的精力,巧妙地找到巧妙的方法,只有在以有效的方式处理特定问题时才能运行相关的测试.(在Java中使用JUnit,很简单:我点击当前包,然后"在这里运行所有测试"
| 归档时间: |
|
| 查看次数: |
461 次 |
| 最近记录: |