2016-03-30 19 views
0

Verileri bir salatalık tablosundan bir karma sırasına göre karşılaştırmaya çalışıyorum.Salatalık Verisi Tablosunun Karmaların Ruby Serisine Karşılaştırılması

Then (/^I expect tasks created with:/) do |table| 
    table = table.hashes 
end 


[{"issuetype"=>"Task", 
    "summary"=>"Please review", 
    "status"=>"To do", 
    "assignee"=>"unassigned", 
    "assigned group"=>"rm-group1"}, 
    {"issuetype"=>"Task", 
    "summary"=>"Please review", 
    "status"=>"To do", 
    "assignee"=>"unassigned", 
    "assigned group"=>"rm-group2"}] 

nasıl olduğu, altından verilerden değerleri (issuetype, summary, status) seçebileceğiniz bir JSON ayrıştırmak ve biçimlendirmek:

Cucumber step: 

Then I expect tasks created with: 
     | issuetype | summary  | status | 
     | Task  | Please review | To do | 
     | Task  | Please review | To do | 

kullanıyorum bir karma haline tablo döndü Yukarıdaki table.hashes gibi ve bunları karşılaştırmak?

tasks [ { 
     id: 1 
     fields:{ 
      summary: "Summary" 
     } 
      status:{ 
       description: "description" 
       currentstatus: "To do" 
      } 
      issuetype{ 
        id: "5" 
        name: "sub-task" 
      } 
      }] 
+0

Lütfen 'table.hashes''in nasıl göründüğünü gösterin. – mudasobwa

+0

@mudasobwa – Woots

cevap

0

Ben table.hashes olmasını bekliyoruz:

[ 
    { issuetype: 'Task', summary: 'Please review', status: 'To do' }, 
    { issuetype: 'Task 2', summary: 'Please review', status: 'To do' }, 
] 

görünüşte geçersiz nesne (ki ise tasks dışarı karşılaştırma sağlamalarının dizisini almak için, dolayısıyla ben bir varsayım yapmak zorunda kaldı gerçek yapısı var.

mapped = tasks.map do |hash| 
    { 
    issuetype: hash[:issuetype][:name], 
    summary: hash[:fields][:summary], 
    status: hash[:status][:currentstatus] 
    } 
end 

Şimdi table.hashes ve mapped karşılaştırmak gayet NB Yukarıdaki çözümde, hash tuşlarının sembolleri olduğu varsayılmaktadır. Dizeleri olsun, ilgili oyuncu yapılacaktır.

+0

kod bloğunda ekledim Bu şekilde değerleri doğru seçmiyorum. Tablonun daha fazla sütunla genişletilmesi durumunda, görevleri yeniden yazmam gerekirdi. – Woots

+0

Bu soruyu anladığımdan emin değilim. Değerler tamamen tuşlarla karşılaştırılır. Biri daha fazla sütuna sahip olduğunda, bu sütunlar 'map' olarak belirtilmelidir. – mudasobwa

İlgili konular