Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何测试和重构已经开发的Rails应用程序?_Ruby On Rails_Ruby_Unit Testing_Tdd_Agile - Fatal编程技术网

Ruby on rails 如何测试和重构已经开发的Rails应用程序?

Ruby on rails 如何测试和重构已经开发的Rails应用程序?,ruby-on-rails,ruby,unit-testing,tdd,agile,Ruby On Rails,Ruby,Unit Testing,Tdd,Agile,我加入了一家初创公司,在那里,我的老板,所谓的技术负责人,有3年的工作经验,已经编写了代码,网站正在运行,她不知道测试,现在事情正在分崩离析。 我一生都在关注TDD,现在我不知道如何测试已经编写了50k LOC的RAILS应用程序,浪费的代码堆积如山,根本没有正确的代码流 如何对现有模块进行单元测试? 如何使用开发后测试方法重构现有代码的最大代码量? 我对现有的代码简直是疯了。 不能再做一次,没有足够的自由再做一次。 感谢advcance你可以写一本关于这个主题的书(事实上我相信Mike Gun

我加入了一家初创公司,在那里,我的老板,所谓的技术负责人,有3年的工作经验,已经编写了代码,网站正在运行,她不知道测试,现在事情正在分崩离析。 我一生都在关注TDD,现在我不知道如何测试已经编写了50k LOC的RAILS应用程序,浪费的代码堆积如山,根本没有正确的代码流

如何对现有模块进行单元测试? 如何使用开发后测试方法重构现有代码的最大代码量? 我对现有的代码简直是疯了。 不能再做一次,没有足够的自由再做一次。
感谢advcance

你可以写一本关于这个主题的书(事实上我相信Mike Gunderloy写了《Rails救援手册》——尽管我现在似乎找不到在线的地方)

短篇故事是:

  • 不幸的是,如果对现有代码库中的所有内容进行回顾性测试基本上是可行的,那么就没有商业意义,所以不要这样做
  • 开始总是为新特性编写测试,并坚持其他人也这样做
  • 当现有代码库中的某些内容中断时,一定要编写回归测试
  • 当您对现有代码库进行重大更改时,如果有意义,请同时添加测试。不要费心为可以轻松手动验证的小更改添加测试;这可能不值得花时间

不过你可能已经知道这一切了。祝你好运

你可以写一本关于这个主题的书(事实上,我相信迈克·冈德罗写过《Rails救援手册》——尽管我现在似乎找不到一个在线的地方)

短篇故事是:

  • 不幸的是,如果对现有代码库中的所有内容进行回顾性测试基本上是可行的,那么就没有商业意义,所以不要这样做
  • 开始总是为新特性编写测试,并坚持其他人也这样做
  • 当现有代码库中的某些内容中断时,一定要编写回归测试
  • 当您对现有代码库进行重大更改时,如果有意义,请同时添加测试。不要费心为可以轻松手动验证的小更改添加测试;这可能不值得花时间

不过你可能已经知道这一切了。祝你好运

谢谢你的回复。大约有50多个关键任务功能。问题是,作为一个单一的开发人员/测试人员,我不知道从哪里开始,也不知道如何测试现有模型,因为我不知道它们是如何实现的,也不知道代码从一端流向另一端的。我该怎么开始?Rspec?工厂女孩轨道?或者Cucumber测试?在这种情况下,从使用Capybara的几个顶级完整堆栈集成测试开始可能不是一个坏主意。编写一些测试,测试快乐路径,浏览应用程序的一些最常用功能,并断言页面基本上包含您期望的内容,而不是错误/异常。至于获取这些测试的测试数据,如果不处于您的位置,这真的很难回答。谢谢,朋友!谢谢!谢谢你的回复。大约有50多个关键任务功能。问题是,作为一个单一的开发人员/测试人员,我不知道从哪里开始,也不知道如何测试现有模型,因为我不知道它们是如何实现的,也不知道代码从一端流向另一端的。我该怎么开始?Rspec?工厂女孩轨道?或者Cucumber测试?在这种情况下,从使用Capybara的几个顶级完整堆栈集成测试开始可能不是一个坏主意。编写一些测试,测试快乐路径,浏览应用程序的一些最常用功能,并断言页面基本上包含您期望的内容,而不是错误/异常。至于获取这些测试的测试数据,如果不处于您的位置,这真的很难回答。谢谢,朋友!谢谢!