Python Behave BDD Tutorial Ошибка в Windows - PullRequest
0 голосов
/ 01 ноября 2018

Итак, я сравниваю некоторые тестовые среды Python и наткнулся на поведение. Думал, что это интересно и стоит тест-драйва.

Выполнены действия, описанные в руководстве, доступном по адресу: https://behave.readthedocs.io/en/stable/tutorial.html

Когда я запустил команду behave в Powershell (Win10 и Python 2.7.10), я получил следующую ошибку:

Exception TypeError: compile() expected string without null bytes
Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python27\lib\site-packages\behave\__main__.py", line 187, in <module>
    sys.exit(main())
  File "C:\Python27\lib\site-packages\behave\__main__.py", line 183, in main
    return run_behave(config)
  File "C:\Python27\lib\site-packages\behave\__main__.py", line 127, in run_behave
    failed = runner.run()
  File "C:\Python27\lib\site-packages\behave\runner.py", line 804, in run
    return self.run_with_paths()
  File "C:\Python27\lib\site-packages\behave\runner.py", line 809, in run_with_paths
    self.load_step_definitions()
  File "C:\Python27\lib\site-packages\behave\runner.py", line 796, in load_step_definitions
    load_step_modules(step_paths)
  File "C:\Python27\lib\site-packages\behave\runner_util.py", line 412, in load_step_modules
    exec_file(os.path.join(path, name), step_module_globals)
  File "C:\Python27\lib\site-packages\behave\runner_util.py", line 385, in exec_file
    code = compile(f.read(), filename2, "exec", dont_inherit=True)
TypeError: compile() expected string without null bytes

Кто-нибудь сталкивался с этой ошибкой при попытке запустить себя? (Нашел некоторые темы в Интернете, связанные в основном с проблемами с колбами, но я не смог решить проблему)

1 Ответ

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

Отвечая на мой собственный вопрос здесь.

Это была проблема с кодировкой. Sublime сохранял мои файлы в кодировке, отличной от UTF-8.

File -> Save with Encoding -> UTF-8 сделал свое дело.

...