Ruby on rails Rails3-测试-错误和无效的关系是什么?

Ruby on rails Rails3-测试-错误和无效的关系是什么?,ruby-on-rails,unit-testing,Ruby On Rails,Unit Testing,在下面的代码中,错误是否支持无效 换句话说是无效的吗?正确的或取决于错误列表是否正确 还是无效?独自工作 测试“产品属性不得为空”do product=product.new 断言产品无效?断言产品。错误[:标题]。有吗? 断言产品。错误[:说明]。有吗 断言产品。错误[:价格]。有吗 断言产品。错误[:image\u url]。有吗? 结束 此外,我可否假设: 功能测试(针对控制器)在运行时为用户执行, 而单元测试(针对模型/数据库)是在开发过程中使用的 谢谢strong text测试在开发过

在下面的代码中,错误是否支持无效

换句话说是无效的吗?正确的或取决于错误列表是否正确

还是无效?独自工作

测试“产品属性不得为空”do product=product.new

断言产品无效?断言产品。错误[:标题]。有吗? 断言产品。错误[:说明]。有吗

断言产品。错误[:价格]。有吗

断言产品。错误[:image\u url]。有吗? 结束

此外,我可否假设:

功能测试(针对控制器)在运行时为用户执行, 而单元测试(针对模型/数据库)是在开发过程中使用的


谢谢strong text

测试在开发过程中运行,以尝试并确保生成的代码尽可能无错误

单元测试检查小的代码单元(例如单个模型),而功能测试检查采取多个步骤的“功能”(例如“注册”过程)

valid?
函数基本上使模型通过定义的验证器,并检查是否存在错误。换句话说,如果
@user.errors
数组(例如)包含entires,
valid?
将返回false


但同样,测试用于检查您是否正确开发代码,并且不会在生产环境中运行。

每个测试都是为开发人员运行的。运行时不运行任何测试。然后,代码对于用户来说应该是稳定的。但是,是的,功能测试“模拟用户”(单击、填充输入等),单元测试检查模型、关系和内部业务逻辑。