我知道理想情况下我应该对所有内容进行单元测试。到目前为止,这是我的态度。然而,作为一个单人创业公司,我认为这是完全错误的方法,特别是对于原型设计。主要是因为大多数代码在到达生产之前都会被更改或修改。
我发现了this answer,但它似乎仍然是原型制作的过度杀伤。
我知道不测试不是一种选择,而是如何找到应该和不应该测试的平衡?
如果您回答这个问题,我会非常感谢资源的链接,如果您知道任何有关该主题的好文章,请。
答案 0 :(得分:1)
测试让您对软件充满信心的内容。这就是所有的测试,确保你所写的内容符合你的想法(特别是当你改变的时候)。
其中一些是个性。你可以写出0测试并且有99%的自信,当然你会在某个时候感到惊讶。你可以写很多测试并且有10%的自信,因为你只是一个担心。
就个人而言,我建议为您的主要功能和流程编写测试。登录,向数据库发送数据,运行算法,从某个地方接收事件等等。这些只是现在的成功案例,但是当您运行测试时,您将知道软件的主要部分将起作用。
确保它们协同工作 - 进行一些与多个组件交互的测试。我知道这不是一个“真正的单元测试”,我不会在集成测试和单元测试之间做出选择,但是如果你在真空中测试所有东西,你就会毫无根据地相信所有部分都能协同工作。
同样,运行自动化测试套件的重点在于:如果测试通过,您知道您的软件可以正常工作(至少与编写测试一样好,因此您可以随时添加更多测试)。
在我的意见中:我建议您从“外部”测试您的系统。你在写一个REST服务器吗?将您的测试写为HTTP请求,以确保正确的数据进入,并返回正确的数据。我使用的是真正的数据库,而不是模仿所有内容,因为有时持久性或查询不能像编写代码一样工作。您将更有信心软件的外部“用户”将获得您期望的数据,并且您的软件可以按预期执行。