`assert_equal ... 或 assert_equal ...` 可能在 ruby minitest 中吗?
Is `assert_equal ... or assert_equal ...` possible in ruby minitest?
我正在创建一个可以表示为断言析取的测试;当第一个断言失败时,应该查看下一个。特别是,一个项目将等于两个事物之一。不知道是哪个。
我的代码看起来像这样。它不起作用,但它可能会让您了解我正在尝试做什么。
asset_one = Cache.asset_one
asset_two = Cache.asset_two
assert_equal(asset_one.name, Pages.name) or
assert_equal(asset_two.name, Pages.name)
Pages.name
应该匹配目标之一。我不知道是哪一个。如果它与第一个不匹配,那么我希望它跳过它并尝试匹配第二个。
我们一如既往地非常感谢您的帮助。
如果你想匹配任何一个具有给定名称的对象,你可以使用assert_includes
asset_one = Cache.asset_one
asset_two = Cache.asset_two
assert_includes([asset_one, asset_two].map(&:name), Pages.name)
这应该可以解决您的问题。
我正在创建一个可以表示为断言析取的测试;当第一个断言失败时,应该查看下一个。特别是,一个项目将等于两个事物之一。不知道是哪个。
我的代码看起来像这样。它不起作用,但它可能会让您了解我正在尝试做什么。
asset_one = Cache.asset_one
asset_two = Cache.asset_two
assert_equal(asset_one.name, Pages.name) or
assert_equal(asset_two.name, Pages.name)
Pages.name
应该匹配目标之一。我不知道是哪一个。如果它与第一个不匹配,那么我希望它跳过它并尝试匹配第二个。
我们一如既往地非常感谢您的帮助。
如果你想匹配任何一个具有给定名称的对象,你可以使用assert_includes
asset_one = Cache.asset_one
asset_two = Cache.asset_two
assert_includes([asset_one, asset_two].map(&:name), Pages.name)
这应该可以解决您的问题。