`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)

这应该可以解决您的问题。