2014-09-19 43 views
0

在rspec中,假设我有散列myHash如何检查红宝石散列排除某些键?

如何检查myHash是否没有以下键:“A”,“B”,“C”?

下是有效的红宝石,但确实我想的正好相反:

myHash.should include(:A, :B, :C) 

为什么没有一个should exclude

回答

2

Rspec 3.0,我们应该使用:

expect(my_hash).not_to include(:A, :B, :C) 
+0

如果有人好奇,因为我是 - 取反'include'匹配*不*(这里做广告)的工作方式与包含匹配器的逻辑对立方式不同,所以这会做你想要/期望的;)它将检查以确保给定的散列/数组不包含任何*给定的参数,而不仅仅是它不包括它们中的所有*(这将是合乎逻辑的oppo包含匹配器的网站)。 – mltsy 2017-11-09 19:19:24