dr.*_*vil 5 legacy tdd performance unit-testing http
我有大约100个单元测试,覆盖率为%20,我正在努力增加覆盖范围,这也是一个开发项目,所以不断添加新的测试.
目前在每次构建之后运行我的测试是不可行的,他们需要大约2个时刻.
测试包括:
大多数功能都需要读取HTTP,执行TCP等.我无法更改它们,因为如果我改变这些测试,这就是项目的整体想法,测试内容将毫无意义.
另外,我认为我没有最快的工具来运行单元测试.我当前的设置使用VS TS与Gallio和nUnit作为框架.我认为VS TS + Gallio也比其他人慢一点.
你会建议我解决这个问题?我想在每一点点改变之后运行单元测试btu目前这个问题正在打断我的流程.
进一步澄清编辑:
代码高度耦合!不幸的是,变化就像一个巨大的反射过程.并且有一个鸡蛋综合症,我需要单元测试来重构这么大的代码,但如果我不重构它我就不能有更多的单元测试:)
高度耦合的代码不允许我将测试分成更小的块.此外,我不测试私人物品,这是个人选择,这使我能够更快地发展并仍然获得大量的好处.
并且我可以确认所有单元测试(具有适当的隔离)实际上非常快,并且我没有它们的性能问题.
进一步澄清:
代码高度耦合!不幸的是,变化就像一个巨大的反射过程.并且有一个鸡蛋综合症,我需要单元测试来重构这么大的代码,但如果我不重构它我就不能有更多的单元测试:)
高度耦合的代码不允许我将测试分成更小的块.此外,我不测试私人物品,这是个人选择,这使我能够更快地发展并仍然获得大量的好处.
并且我可以确认所有单元测试(具有适当的隔离)实际上非常快,并且我没有它们的性能问题.
Bra*_*son 10
这些对我来说听起来不像是单元测试,但更像是功能测试.这很好,自动化功能测试很好,但功能测试很慢很常见.他们正在测试整个系统(或大部分系统).
单元测试往往很快,因为他们正在测试一件与其他事物隔离的东西.如果您无法独立于其他所有事情进行测试,则应考虑您编码的警告标志过于紧密耦合.
你能告诉你哪些测试是单元测试(仅测试1件事)和功能测试(同时测试2件或更多件事)?哪些是快速的哪些是慢的?
您可以将测试分成两组,一组用于短测试,一组用于长时间运行的测试,并且在每次更改后运行短测试时运行长时间运行的测试.除此之外,模拟来自Web服务器的响应以及您的应用程序所做的其他请求将导致更短的测试运行.
我会建议你解决问题的综合方法:
我从上面提到的书中学到的最重要的事情之一:没有魔法,使用遗留代码是痛苦的,而且总是很痛苦.你所能做的只是接受这个事实,并尽力慢慢地摆脱困境.
| 归档时间: |
|
| 查看次数: |
3298 次 |
| 最近记录: |