-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build fails, probably because behave can't find steps directory #64
Comments
Note to self: Try |
Side note: In the builds a CLI test is failing, but really the multiple-feature-directories.feature should fail for the problem the failing build is exposing. 😟 |
Current result of problem analysis, after some refactoring: A) When a single path is specified in the behave configuration everything works as expected, e.g. [behave]
paths = tests/acceptance ... even with some special directory layout, e.g.
B) When several paths are specified neither of those paths is looked at, e.g. [behave]
paths =
tests/acceptance
tests/test_app/features ... same with just the parent path, e.g. [behave]
paths =
tests/acceptance
tests/test_app C) When a single path is specified in the ini-style file list notation the execution fails alike, e.g. [behave]
paths =
tests/test_app/features Hence, it looks like the ini-style file list notation is causing problems. Or, in other words, behave only accepts |
Aha! Gotcha! The behave documentation shows a configuration example, which starts the value list right in the same line as the equal sign. This syntax, interestingly enough, works. However, if only one of the locations contains a Example: [behave]
paths = tests/acceptance
tests/test_app In this setup the The other way round: [behave]
paths = tests/test_app
tests/acceptance ... behave will abort execution: ConfigError: No steps directory in '/home/.../repos/behave-django/tests/test_app' I'm not sure whether both behaviors are intended:
@jenisys, any comments or clarifications? |
@bittner NOTE: The |
When I try >>> cp = configparser.ConfigParser()
>>> list_config = """[behave]
... my_list =
... foo
... bar
... baz
... """
>>> cp.read_string(list_config)
>>> cp['behave'].get('my_list')
'\nfoo\nbar\nbaz' |
Provide a pull-request for behave/configuration.py:399 that "corrects" this behaviour (but a trailing NOTE:
|
@jenisys The fix for this is really easy. Writing the tests (mocking the ConfigParser) is a pain, though. I've tried this with a colleague. Not nice. I may place a PR anytime soon. |
The current build for PR #63 fails. When I run
behave
orpython manage.py behave
locally I get:I've done some research and found some probably unrelated issue in the behave project. Not sure.
The problem seems to be related to how behave discovers the
steps/
folder when paths are specified in the behave configuration.The text was updated successfully, but these errors were encountered: