Ruby on rails 3 我是否应该承诺测试仍要通过(失败)?

Ruby on rails 3 我是否应该承诺测试仍要通过(失败)?,ruby-on-rails-3,continuous-integration,Ruby On Rails 3,Continuous Integration,我们的rails开发团队试图遵循持续集成。我们决定采用只提交测试通过的特性的策略。这是继续下去的好方法吗?我是否应该延迟与其他功能的集成,直到我的测试通过(即使功能的部分工作正常)?提前感谢在集成其他功能之前,我会亲自等待测试通过 在集成其他功能之前,我会亲自等待测试通过 测试应该通过——如果您运行的是CI服务器,它只会向用户发送垃圾邮件,直到他们通过为止。如果没有CI服务器,其他所有人都必须弄清楚这些测试是否“应该”失败。嘘 另一种选择是只签入实际编写的特性的测试;如果您将测试用作可执行规范,

我们的rails开发团队试图遵循持续集成。我们决定采用只提交测试通过的特性的策略。这是继续下去的好方法吗?我是否应该延迟与其他功能的集成,直到我的测试通过(即使功能的部分工作正常)?提前感谢

在集成其他功能之前,我会亲自等待测试通过

在集成其他功能之前,我会亲自等待测试通过

测试应该通过——如果您运行的是CI服务器,它只会向用户发送垃圾邮件,直到他们通过为止。如果没有CI服务器,其他所有人都必须弄清楚这些测试是否“应该”失败。嘘

另一种选择是只签入实际编写的特性的测试;如果您将测试用作可执行规范,那么在整个应用程序完成之前,它们不会全部通过,并且没有人能够检查任何内容

您还可以将测试标记为“挂起”或指示应跳过测试,但记住取消挂起/跳过测试通常是有问题的。

测试应该通过——如果您运行的是CI服务器,它只会向用户发送垃圾邮件,直到他们通过为止。如果没有CI服务器,其他所有人都必须弄清楚这些测试是否“应该”失败。嘘

另一种选择是只签入实际编写的特性的测试;如果您将测试用作可执行规范,那么在整个应用程序完成之前,它们不会全部通过,并且没有人能够检查任何内容


您也可以将测试标记为“挂起”或指示应跳过测试,但记住取消挂起/跳过测试通常是有问题的。

测试应通过这就是您首先编写测试的原因,如果由于某种原因一个或多个测试未通过,则表明出现了问题(显然)你和你的团队应该致力于解决方案

如果代码是在测试失败的情况下提交的,那么垃圾邮件会责怪编写代码的程序员,这样下次他在提交代码之前会更加注意

我听说过一种避免提交测试失败的代码的方法,但我没有亲自测试过,它涉及到两个存储库(可能是一个分支),其背后的理论是:

  • 开发人员将以一个分支为目标,此分支的目的只是为了确保所有测试都通过,您应该配置CI服务器以从该分支生成和运行测试

  • 当所有测试通过分支时,应该对主干进行合并,因为每个人都应该处理这个分支,所以合并应该是透明的和自动的

  • 我重申我没有测试过这种方法,我认为它涉及的问题比它解决的问题多

    另一种选择是在VCS中为提交事件添加一个钩子,并强制运行所有测试,但仅执行一次提交可能会很耗时

    作为附加信息,您可以检查此响应


    测试应该通过这就是您首先编写测试的原因,如果由于某种原因,一个或多个测试没有通过,这表明出现了问题(显然),您和您的团队应该致力于解决方案

    如果代码是在测试失败的情况下提交的,那么垃圾邮件会责怪编写代码的程序员,这样下次他在提交代码之前会更加注意

    我听说过一种避免提交测试失败的代码的方法,但我没有亲自测试过,它涉及到两个存储库(可能是一个分支),其背后的理论是:

  • 开发人员将以一个分支为目标,此分支的目的只是为了确保所有测试都通过,您应该配置CI服务器以从该分支生成和运行测试

  • 当所有测试通过分支时,应该对主干进行合并,因为每个人都应该处理这个分支,所以合并应该是透明的和自动的

  • 我重申我没有测试过这种方法,我认为它涉及的问题比它解决的问题多

    另一种选择是在VCS中为提交事件添加一个钩子,并强制运行所有测试,但仅执行一次提交可能会很耗时

    作为附加信息,您可以检查此响应


    基本上就是这样。您的测试应该始终通过,并且您应该只提交您所提供的测试。测试的存在是有原因的,本质上就是这样。您的测试应该始终通过,并且您应该只提交您所提供的测试。测试是有原因的。