Perl две одинаковые строки сравнивать как не равные - PullRequest
0 голосов
/ 20 ноября 2018

Вот мой код:

    my $self = shift;
    my $h    = shift;

    print "$h\n";

    my @headers = split /,/, $h;

    foreach my $el (@{$expected}) {
            my $t = shift @headers;
            chomp ($t);
            chomp ($el);
            print Dumper($el cmp $t, $el, $t);
            print "test: \'$el\' eq \'$t\' ";
            unless ($el eq $t) {
                    print "not ok $el ne $t\n";
                    return 0;
            } else {
                    print "ok\n";
            }
    }
    return 1;

В моем первом модульном тесте я передаю строку в $ h, которая соответствует ожидаемой $.Затем у меня есть модульный тест, который гарантирует, что функция завершится ошибкой, когда передана строка, которая не соответствует.Эти два теста работают должным образом.

Сервер, Jira Project, Тип проблемы, Сводка, Описание, Получатель, Метки, Epic Link

$ VAR1 = 0;

$ VAR2 = 'Сервер';

$ VAR3 = 'Сервер';

test: 'Server' eq 'Server' ok

Когда я вытягиваюВ строке из файла CSV и передать его этой функции я получаю другой ответ.

Сервер, Jira Project, Тип проблемы, Сводка, Описание, Получатель, Метки, Epic Link

$ VAR1 = -1;

$ VAR2 = 'Сервер';

$ VAR3 = 'Сервер';

test: 'Сервер' eq 'Сервер' не в порядкеСервер ne Сервер

Сравнение каким-то образом подразумевает, что ожидаемое значение несколько меньше, чем то, что тестируется.Я сразу же вспоминаю, что на тестируемом персонаже должен быть ведущий или последний персонаж.Тем не менее, печать и Dumping, кажется, не подтверждают это (если я что-то упускаю).Чопсы просто в отчаянии.

Чего мне не хватает?

1 Ответ

0 голосов
/ 20 ноября 2018

Во-первых, спасибо @hobbs за $ Data :: Dumper :: Useqq = 1;предложение.Сразу стало очевидно, что были некоторые ведущие персонажи, которых я не знал, как их обнаружить.

$ VAR1 = -1;

$ VAR2 = "Сервер";

$ VAR3 = "\ 357 \ 273 \ 277Server";

CSV-файл, который я читаю, содержал Метка порядка следования байтов информация.

I 'скину их.Спасибо всем за то, что заставили меня снова.

...