在以下代码中,错误支持无效吗?
换句话说无效?如果错误列表为真,则为真或不确定
或无效?独自工作?
测试“产品属性不能为空”do product = Product.new
断言product.invalid?断言product.errors [:title] .any? 断言product.errors [:description] .any?
断言product.errors [:price] .any?
断言product.errors [:image_url] .any? 结束
另外,我可以假设:
功能测试(用于控制器)在运行时为用户执行, 而单元测试(模型/数据库)则用于开发期间
感谢!强文
答案 0 :(得分:0)
测试在开发期间运行,以尝试确保您生成的代码尽可能没有错误。
单元测试检查小的代码单元(例如单个模型),而功能测试检查需要几个步骤的“功能”(例如“签名”过程)。
valid?
函数实质上使模型通过定义的验证器,并检查是否存在错误。换句话说,如果@user.errors
数组(例如)包含entires,valid?
将返回false。
但是,再一次,测试用于检查您是否正确开发代码,并且不会在生产中运行。