2014-09-19 36 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