我们尝试在最近的一个项目中引入单元测试前端逻辑,但是这些测试的价值正在受到质疑。
由于我们没有对测试进行代码审查,因此它们的质量很差,开发人员复制了糟糕的测试用例,导致我们有很多无用的测试。
我仍然相信测试Presenter(我们使用MVP架构),但是让其他人认同这一点比我最初想象的要困难得多。
如何让其他人认识到前端测试的价值?是否有任何好的资源可以引用来支持我的观点?
谢谢...
我们尝试在最近的一个项目中引入单元测试前端逻辑,但是这些测试的价值正在受到质疑。
由于我们没有对测试进行代码审查,因此它们的质量很差,开发人员复制了糟糕的测试用例,导致我们有很多无用的测试。
我仍然相信测试Presenter(我们使用MVP架构),但是让其他人认同这一点比我最初想象的要困难得多。
如何让其他人认识到前端测试的价值?是否有任何好的资源可以引用来支持我的观点?
谢谢...
在测试UI时,另一个陷阱是很容易编写测试来测试框架而不是您的应用程序。或者反过来说:编写实际测试您的UI而不是UI框架可能会具有挑战性。
例如,一些团队最终编写了许多无用的测试,例如:
Given a button, when the button is clicked, the event handler should fire.
修复破窗户。这里有一篇理论链接:http://en.wikipedia.org/wiki/Fixing_Broken_Windows
防止代码质量差的成功策略是始终保持代码库的清洁和优秀状态。这意味着清理所有不良代码。虽然可能会很痛苦、耗时,但你仍需要去做。
在我们移除了项目中所有编译警告后,我们发现我们的代码质量得到了提高。人们开始关注他们要提交的代码,因为我们传达出一个信号:提交不好的代码(甚至是警告)是不行的,没有人想成为第一个破窗户的罪魁祸首。
对我来说,问题在于维护测试的成本和捕获否则无法捕获的错误的概率之间的权衡。假设您仍将对实际UI进行一些视觉测试(否则您将很难测试美学)。
例如,您可以仅关注Presenter的某些方面。例如,非平凡格式化程序,使用许多有趣的值进行练习。
我怀疑说服的一种方法是缓慢前进。首先尝试找到低成本的测试。