2013-05-08 10 views
5

Próbuję przekazać spację w mojej teście.Jak uzyskać białą przestrzeń lub obiekt zerowy ze stołu ogórkowego?

Więc spróbuj wykonać następujące czynności w moim kroku ogórka

If I enter: 
|company_name|phone| 
||#{nil}| 

uzyskać {"company_name"=>"", "phone"=>"\#{nil}"}

|company_name|phone| 
| | | 

uzyskać {"company_name"=>"", "phone"=>""}

|company_name|phone| 
|\s|\nil| 

uzyskać {"company_name"=>"\\s", "phone"=>"\nil"}

|company_name|phone| 
|" "|' '| 

uzyskać {"company_name"=>"\" \"", "phone"=>"' '"}

Co należy umieścić w tabeli, aby uzyskać następujące hash {"company_name"=>" ", "phone"=>" "}?

+0

podaj nam kod, którego używasz. –

+0

Nie wymaga tutaj kodu. Po prostu muszę przekazać taki ciąg => "" lub zero obiektu –

Odpowiedz

2

Nie ma wartości, którą można umieścić w tabeli ogórków, która domyślnie jest interpretowana jako nil. Możesz użyć numeru cucumber Transform, aby zrobić to, co chcesz. Na przykład, można go używać tak, jeśli chciał interpretować pusty ciąg jako nil:

Transform /^table:company_name,phone$/ do |table| 
    table.hashes.map! do |h| 
    h.each_pair do |k,v| 
     h[k] = nil if v == '' #here, you can map any value you want to be nil 
    end 
    end 

    table 
end 

umieścić to w pliku w folderze wsparcia. Istnieją również inne metody, takie jak map_column! itp. Możesz użyć, jeśli chcesz przekształcić tylko jedną kolumnę.

+0

OK! Teraz jest jasne, jak przekazać obiekt zerowy. Ale na przykład w "company_address" muszę przekazać zarówno "' '" "' '' lub '' '" "' ''. Jak mogę to zrobić? –

+0

@mef_ można przekształcić tylko niektóre klucze za pomocą 'map_column!' Dla tych, które chcesz przekształcić lub dodając drugi warunek dotyczący kluczy do powyższego kodu. (Na przykład coś takiego: 'h [k] = nil, jeśli v == '' i% W (nazwa_firmy) .include? (K)', aby odwzorować tylko nazwę firmy i numer telefonu na zero, jeśli jest pusty. chcę odwzorować inne wartości na 'nil', dodaj inne warunki do wyrażenia podobnie –

+0

Dzięki! Metoda transformacji pomaga mi Przypadek, w którym chcę umieścić' '' '' '' 'Używam metody transformacji w ten sposób' ' 'h [k] =" "if v == 's''''' Tak więc w mojej tabeli przekazuję ciąg' '' '' '' ' –

Powiązane problemy