У меня есть тест в RSpec, который сравнивается с длинными текстовыми строками. Когда тест не пройден, я получаю сообщение, подобное этому:
'jobs partial should render the correct format for jobs' FAILED
expected: "Job {\n\tName = \"name1-etc\"\n\tType = Backup\n\tMessages = Daemon\n\tPool = Default
\n\tSchedule = \"schedule1\"\n\tStorage = storage1\n\tClient = \"name1\"\n\tFileset = \"fileset1
\"\n\tMax Wait Time = 5m\n\tWrite Bootstrap = \"/var/lib/bacula/name1-etc.bsr\"\n}\n\n",
got: "Job {\n\tName = \"name1-etc\"\n\tType = Backup\n\tMessages = Daemon\n\tPool = Default
\n\tSchedule = \"schedule1\"\n\tStorage = storage1\n\tClient = \"name1\"\n\tFileset = \"fileset1
\"\n\tMax Wait Time = 5m\n\tWrite Bootstrap = \"/var/lib/bacula/name1-etc.bsr\"\n}\n\n" (using =
=)
Как мне сделать так, чтобы RSpec и автотест отвечали хорошо отформатированным различием (если это возможно, закрашивая различия между текстами? Как-то так
expected:
Job {
Name = "name1-etc"
Type = Backup
Messages = Daemon
Pool = Default
Schedule = "schedule1"
Storage = storage1
Client = "name1"
Fileset = "fileset1" <--diff
Max Wait Time = 5m
Write Bootstrap = "/var/lib/bacula/name1-etc.bsr"
}
got:
Job {
Name = "name1-etc"
Type = Backup
Messages = Daemon
Pool = Default
Schedule = "schedule1"
Storage = storage1
Client = "name1"
Fileset = "fileset2" <-- diff
Max Wait Time = 5m
Write Bootstrap = "/var/lib/bacula/name1-etc.bsr"
}