Skip to content
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

Setup Behaviour Driven Development #51

Merged
merged 6 commits into from
Nov 14, 2018
Merged

Setup Behaviour Driven Development #51

merged 6 commits into from
Nov 14, 2018

Conversation

weiji14
Copy link
Owner

@weiji14 weiji14 commented Nov 12, 2018

Using plain language to cut through all the technical complexity with the neural network model. Hopefully this helps to make it easier to understand for more people. Another benefit is that the core idea can be implemented in other ways (programming languages) when something better comes up!

References:

TODO:

Using plain language to cut through all the technical complexity with the neural network model. Create initial gherkin placeholder `.feature` files and update README files highlighting this new development. Hopefully this helps to make it easier to understand for more people. Another benefit is that the core idea can be implemented in other ways (programming languages) when something better comes up!
Part of #51. Adding [Behave](https://github.com/behave/behave) as our behavioural driven development testing framework/library. Will use for running feature tests.
Slow down docker build time, while speeding up Continuous Integration tests. Reveal the codefresh pipeline used for running the unit tests. Also moved behave from regular packages to dev-packages in Pipfile.
One simple sample test to try out behave. Implement fixtures in features/environment.py file to load functions modules from ipynb files. Code borrowed from test_ipynb.ipynb, and using the Don't repeat yourself (DRY) principle, we extract the core _load_ipynb_modules from the original _doctest_ipynb function.

Also have the integration tests added to test_ipynb.ipynb, and updated the markdown documentation inside the notebook.
Pytest doesn't like non-exactness of the time taken printed by behave's summary, so removing it. Also created an _integration_test_ipynb function that does the wrapping of the behave runner. Renamed _doctest_ipynb to _unit_test_ipynb to match this design change.
Various overdue fixes to sanitize the Continuous Integration builds and tests. Using pipenv install --deploy in Dockerfile to make sure Pipfile.lock is respected! Pipfile.lock is updated properly here after 6fff1e6. Also point codefresh badge to the right url (there was some confusion with multiple accounts).
@weiji14 weiji14 changed the title WIP Setup Behaviour Driven Development Setup Behaviour Driven Development Nov 14, 2018
@weiji14 weiji14 added this to the v0.4.0 milestone Nov 14, 2018
@weiji14 weiji14 added the enhancement ✨ New feature or request label Nov 14, 2018
@weiji14 weiji14 self-assigned this Nov 14, 2018
@weiji14 weiji14 merged commit fe98010 into master Nov 14, 2018
@weiji14 weiji14 deleted the bdd_init branch November 14, 2018 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ✨ New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant