简体   繁体   中英

Python Behave BDD Tutorial Error on Windows

So, I`m comparing some python test frameworks and came across behave. Thought it was interesting and worth a test drive.

Followed the steps on the tutorial, available at: https://behave.readthedocs.io/en/stable/tutorial.html

When I ran the behave command on Powershell (Win10 and Python 2.7.10), I got the following error:

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

Has anyone encountered this error while trying to run behave? (Found some threads online related mainly to flask issues but I couldn't solve the problem)

Answering my own question here.

It was an encoding problem. Sublime was saving my files with an encoding different from UTF-8.

File -> Save with Encoding -> UTF-8 did the trick.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM