Тест Aunit возвращен заблокирован для данного примера проектов Apama - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь использовать AUnit для юнит-тестирования в apama.Поэтому я проверил и прочитал, что пакет Aunit использует Apama Pysys в бэкэнде для тестирования приложения Apama.

Несмотря на то, что мне удалось создать пакет Aunit, я получаю сообщение об ошибке при тестировании образцов мониторов Apama, предоставленных вместе с ним.Я постоянно получаю предупреждение:

c:\aunit-master\bin>aunit test Math

Copying C:\aunit-master\workspace\Math/src/Float.mon to C:\aunit-master\.__test\resources\Float.mon

2019-02-26 13:18:30,296 INFO  ==============================================================
2019-02-26 13:18:30,300 INFO  Id   : MathFloatTest
2019-02-26 13:18:30,302 INFO  Title: MathFloatTest
2019-02-26 13:18:30,304 INFO  ==============================================================
2019-02-26 13:18:33,068 WARN  caught <class '_csv.Error'> while running test: iterator should return strings, not bytes (did you open the file in text mode?)
Traceback (most recent call last):
  File "C:\SoftwareAG2\Apama\third_party\python\Lib\site-packages\pysys\baserunner.py", line 561, in __call__
    self.testObj.validate()
  File "C:\aunit-master\.__test\MathFloatTest\run.py", line 27, in validate
    for row in reader:
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
2019-02-26 13:18:33,299 WARN  iterator should return strings, not bytes (did you open the file in text mode?) (<class '_csv.Error'>) ... blocked
2019-02-26 13:18:36,196 WARN  caught <class '_csv.Error'> while running test: iterator should return strings, not bytes (did you open the file in text mode?)
Traceback (most recent call last):
  File "C:\SoftwareAG2\Apama\third_party\python\Lib\site-packages\pysys\baserunner.py", line 561, in __call__
    self.testObj.validate()
  File "C:\aunit-master\.__test\MathIntegerTest\run.py", line 27, in validate
    for row in reader:
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
2019-02-26 13:18:36,203 WARN  iterator should return strings, not bytes (did you open the file in text mode?) (<class '_csv.Error'>) ... blocked
2019-02-26 13:18:36,328 CRIT
2019-02-26 13:18:36,329 CRIT  Completed test run at:  Tuesday 2019-02-26 13:18:36 W. Europe Standard Time
2019-02-26 13:18:36,330 CRIT  Total test duration:    6.04 secs
2019-02-26 13:18:36,330 CRIT
2019-02-26 13:18:36,331 CRIT  Summary of non passes:
2019-02-26 13:18:36,331 CRIT    BLOCKED: MathFloatTest
2019-02-26 13:18:36,332 CRIT    BLOCKED: MathIntegerTest

И это предупреждение выдает результаты теста в виде BLOCKED.

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Ошибка, похоже, из строки 27 https://github.com/antoinewaugh/aunit/blob/master/test-build/template/run_fast.py.template и выглядит как совместимость с Python 2 против 3.Так что самым быстрым способом заставить это работать для вас может быть попытка запустить его с Python 2 (если Антуан еще не добавил поддержку Python 3 в AUnit)?

Или для более долгосрочного подхода может бытьпопробуйте исправление Caribou для AUnit и, если оно работает, отправьте запрос на извлечение, чтобы получить его без кода?

0 голосов
/ 08 марта 2019

Aunit был исправлен для поддержки обеих версий python (2 и 3).

Спасибо за поднятие вопроса.

Также приветствуются запросы на извлечение проекта.

0 голосов
/ 27 февраля 2019

Без какого-либо кода для просмотра и понимания того, что вы делаете, мне кажется, что либо читаемый файл (CSV) находится в неожиданной кодировке.

Если вы открываете файл в какой-то момент, вам нужно убедиться, что он читается с правильной кодировкой или открыт как текстовый файл (я использовал utf8 ниже, но если это не сработает, вам может понадобитьсяопределите, какая это кодировка.

csvfile  = open('my.csv', "rt", encoding='utf8')

Если вы не открываете файл, а в библиотеке происходит открытие, то это все равно может быть неправильным кодированием того, что читается - возможно, данныхдолжно быть utf8, но это какой-то формат Windows?

вам нужно добавить код к вопросу, чтобы мы могли проверить, что происходит правильно, однако, если ни один из них не решает проблему.

...