Intenté actualizar esta prueba, pero no puedo comparar cadenas idénticas, aunque copié y pegué el resultado "obtenido" en el caso de prueba. ¿Por qué está fallando esta prueba RSpec?
Failure/Error: expect(first_item_cost).to eq("12 x $499 = $5,988") expected: "12 x $499 = $5,988" got: "12 x $499 = $5,988" (compared using ==)Código:
first_item_cost = find('.cart-item-cost', match: :first).text expect(first_item_cost).to eq("12 x $499 = $5,988")RSpec 3.9
Revisé la codificación y los bytes y descubrí:
puts "Encoding: " + first_item_cost.encoding.to_s puts "Bytes: " + first_item_cost.bytes.to_sProducción:
Encoding: UTF-8 Bytes: [49, 50, 32, 195, 151, 32, 36, 52, 57, 57, 32, 61, 32, 36, 53, 44, 57, 56, 56] ¡La 'x' tiene demasiados bytes! Busqué en la plantilla y efectivamente usó × . Cuando copié y pegué desde la consola, debe haber perdido el carácter original (o RSpec lo tradujo antes de la salida). Cambié la especificación y la plantilla a x .