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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 RubyonRails为您生成测试。这些是否给人一种安全网的错觉?_Ruby On Rails_Unit Testing - Fatal编程技术网

Ruby on rails RubyonRails为您生成测试。这些是否给人一种安全网的错觉?

Ruby on rails RubyonRails为您生成测试。这些是否给人一种安全网的错觉?,ruby-on-rails,unit-testing,Ruby On Rails,Unit Testing,免责声明:我没有使用RoR,也没有生成测试。但是,我仍然敢于提出这个问题 一般来说,质量保证在理论上不可能100%正确(不可判定的问题),在实践中很难做到 许多开发人员不明白编写好的自动化测试是一门艺术,而且很难 当我听说RoR为您生成测试时,我非常怀疑。这不可能那么容易 测试是一个普遍的概念;它适用于多种语言。代码契约的概念也是如此,支持它的语言也是如此。代码契约不会自动生成。程序员在考虑算法/功能后,必须手动添加需求和承诺。如果一个人搞错了,那么工具就会传播错误。与测试类似,它需要人类判断应

免责声明:我没有使用RoR,也没有生成测试。但是,我仍然敢于提出这个问题

一般来说,质量保证在理论上不可能100%正确(不可判定的问题),在实践中很难做到

许多开发人员不明白编写好的自动化测试是一门艺术,而且很难

当我听说RoR为您生成测试时,我非常怀疑。这不可能那么容易

测试是一个普遍的概念;它适用于多种语言。代码契约的概念也是如此,支持它的语言也是如此。代码契约不会自动生成。程序员在考虑算法/功能后,必须手动添加需求和承诺。如果一个人搞错了,那么工具就会传播错误。与测试类似,它需要人类判断应该发生什么。测试不是自己编写的,我们离业务分析师只需与计算机对话,非正式地告诉它需求是什么,并让计算机完成所有工作的那一天还很远

没有魔法。。。RoR如何为您生成良好的测试


请解释一下。意见是可以的,因为这是一个社区维基。谢谢

您在哪里读到Rails生成测试的消息?没有。它为您使用命令行工具创建的每个模型或控制器生成一个简单的默认测试存根

假设您为博客文章创建了一个模型:

script/generate model post
Rails会自动生成文件:

test/unit/post_test.rb
其内容如下:

require 'test_helper'

class PostTest < ActiveSupport::TestCase
  # Replace this with your real tests.
  def test_truth
    assert true
  end
end
需要“测试助手”
类PostTest
如您所见,测试的内容仍由您决定

以下是有关Rails测试的更多信息: