Пример:
Код: Выделить всё
string 1 = "Yes\n1\nYes\n2\nNo\n3\n..."Код: Выделить всё
string 2 = "Yes\n1\nNo\n2\nYes\n3\n..."и каким-то образом я знаю, что "да\n2" - это мой тестовый пример, который не удался, это должно было быть "Нет\n2" (у меня есть подтверждающие данные)
На данный момент я использую difflib для сравнения двух строк и получения массива различий, а затем я получить первое несоответствие (+ или -) и получить строку неудачного теста в соответствии с ним, а затем мне довольно просто получить неудачный тестовый пример.
Но проблема в том, что когда в строках слишком большая разница, это занимает больше минуты.
Возможные решения, которые я могу придумать сейчас, -
- Использование difflib таким образом, чтобы он не сравнивал весь файл, а просто давал первое различие
- что, если я выполню построчное сравнение, может ли это повлиять на производительность
- Используя команду Linux diff, но она не предоставляет такой массив, как difflib (что упрощает получение несовпадающего номера строки ).
Подробнее здесь: https://stackoverflow.com/questions/790 ... to-compare