今天重新在depot运行测试,用静态测试数据测试商品标题的唯一性,发现有个断言过不去:
assert_equal I18n.translate('activerecord.errors.messages.taken'), product.errors[:title]
错误信息:
1) Failure: test_product_is_not_valid_without_a_unique_title_-_i18n(ProductTest) [E:/works/rubyaptana/rails/test/unit/product_test.rb:67]: <"has already been taken"> expected but was <["has already been taken"]>. 5 tests, 24 assertions, 1 failures, 0 errors, 0 skips
后面发现在是因为没有照Agile Web Development with Rails Fourth Edition书上说的写。product.errors[:title]后还有join("; ")
看日志应该是一个字符串,和一个只有一个字符串元素的数组的区别。
经乱试,发现两种方式都可以通过:
1.
assert_equal I18n.translate('activerecord.errors.messages.taken'), product.errors[:title].join("")
2.
assert_equal I18n.translate(['activerecord.errors.messages.taken']), product.errors[:title]
product_test.rb的测试方法是这样的:
test "product is not valid without a unique title - i18n" do product = Product.new(title: products(:ruby).title, description: "yyy", price: 1, image_url: "fred.gif") assert product.invalid? assert_equal I18n.translate(['activerecord.errors.messages.taken']), product.errors[:title] #assert_equal I18n.translate('activerecord.errors.messages.taken'), product.errors[:title].join("") end
相关推荐
在 STM32 开发过程中,为了确保程序的稳定性和可靠性,经常需要使用到断言(assert)来验证函数参数的有效性。`assert_param` 是一个用于参数验证的宏,在 STM32 的开发库中被广泛使用。 #### 二、assert_param 的...
1. assert_param只能在调试阶段使用,在release模式下编译时,所有的assert_param检验都将消失,不会影响最终程序的运行效率。 2. assert_param可以帮助程序员快速发现错误,但它也牺牲了一定的效率。 3. 用户可以...
3. **简化代码维护**:在正式版本中,由于`assert_param`不会产生任何额外的运行时开销,因此不会影响最终程序的性能,同时保留了调试时的强大功能。 综上所述,`assert_param`作为一种强大的调试工具,在开发过程...
ok { 1 + 1 } == 2 # same as assert_equal 2, 1+1 ok { 1 + 1 } > 1 # same as assert_operator 1+1, :>, 1 ok { '123' } =~ / \d +/ # same as assert_match /\d+/, '123' ok { [ ] } . kind_of? ( Array ) # ...
资源分类:Python库 所属语言:Python 资源全名:pytest_cache_assert-1.1.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
在 `pytest-assert-utils` 库中,你可能会找到如 `assert_equal`、`assert_not_equal` 等增强的断言方法,它们可能提供了更详细的错误消息,或者支持更复杂的比较操作,比如深度比较、忽略某些属性或元素等。...
对于开始学vc的人,对于assert,assert_valid,verify,trace的宏感到很奇怪,总是觉得很难掌握似的,其实这些主要是没有理清楚他们各自宏之间深层次的意义。
3. **断言(Assertions)**: 提供了丰富的断言方法,用于验证代码的行为是否符合预期,如`assert_equal`,`assert_true`等。 4. **依赖注入(Dependency Injection)**: 支持在测试中注入依赖,增强了测试的灵活性...
文件名中的"ne"可能代表“not equal”,暗示测试集中可能特别关注条件不满足的情况,即`if`语句的条件为假时的代码路径。 总结来说,这个压缩包提供的代码可能涉及以下关键知识点: 1. C语言的条件控制结构`if`和`...
assert_that(value).is_equal_to(expected) # 自定义错误消息 assert_that(value).is_not_none("Value should not be None") # 更复杂的比较,例如检查列表内容 assert_that(list).contains_all(expected_items) `...
assert_matches 提供一个... 要包含在您的项目中,仅当编译测试时,才将以下内容添加到您的Cargo.toml中: [ dev-dependencies ]assert_matches = " 1.5 " 并将以下内容添加到您的板条箱根目录中: #[cfg(test)] #[m
2.3.2. 使用声明(Assert)来编写条件性的 ACL 规则 3. Zend_Auth 3.1. 简介 3.1.1. 适配器 3.1.2. 结果 3.1.3. 身份的持久(Persistence) 3.1.3.1. 在PHP Session 中的缺省持久(Persistence) 3.1.3.2. 实现...
合约帮手 该模块提供了一种在函数中...assert_equal 6 , Foo . new . foo ( 2 , 3 ) assert_equal false , Foo . new . foo ( 2 , "3" ) 当包含Contract模块时,方法contract和verify变得可用。 class Bar inclu
"Pop an assert"是编程术语,通常在调试模式下使用,表示当某个条件不满足时,程序会抛出一个断言错误并停止执行。在XFS的上下文中,如果在检查叶节点时发现任何不一致,如丢失的指针、越界的目录项或者损坏的数据,...
使用assert_param高效调试STM32软件 assert_param是一种常见的软件技术,广泛应用于STM32固件库和提供的例程中。它的主要作用是检测传递给函数的参数是否是有效的参数,从而帮助程序员快速地排除那些明显的错误。在...
15. **错误检查和调试**:讲解如何使用assert和gdb进行程序调试。 这本手册对于初学者来说,是理解和掌握Linux系统编程的重要资源,而对于有经验的开发者,它也是一个快速查找函数用法和行为的便捷工具。由于其体积...
parse_matlab\util\assert.m parse_matlab\util\printSkel.m parse_matlab\util\sampleWithR.m parse_matlab\util\isum.m parse_matlab\util\buildHistExps.m parse_matlab\util\local_sum_zero.m parse_...
junit.framework.Assert.class junit.framework.AssertionFailedError.class junit.framework.ComparisonCompactor.class junit.framework.ComparisonFailure.class junit.framework.JUnit4TestAdapter.class junit....