From: | Dave Page <dpage(at)pgadmin(dot)org> |
---|---|
To: | Anthony Emengo <aemengo(at)pivotal(dot)io> |
Cc: | pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org> |
Subject: | Re: [pgadmin4][patch] Use pytest test runner for unit tests |
Date: | 2018-05-24 14:05:16 |
Message-ID: | CA+OCxoyhMprhxCMss5oESTMcVVnVcyBOP_AuntNyZsRyeZu5rg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
Hi
On Wed, May 23, 2018 at 10:48 PM, Anthony Emengo <aemengo(at)pivotal(dot)io> wrote:
> Hey all,
>
> Attached is a rather large patch that attempts to introduce the Pytest
> test runner and Grappah test matcher into our code base. The patch replaces
> all of the previous python unit tests from the previous design. This is a
> follow-up from our previous proof of concept and discussion around the
> idiosyncrasies of our existing test suite.
>
> We are motivated to submit this change for the following reasons:
>
> 1. Having a highly customized test suite increases the learning curve
> towards contributing to the code base. Pytest is a mature stable python
> test framework that outside developers are more likely to be familiar with.
> 2. Pytest supports a lot of the features that we've built for our
> use-cases - out of the box, and with extensive documentation on the matter.
> 3. The lack of ability to run tests individually has become a pain point.
> Especially when it comes to debugging long running feature tests.
>
> Test can be ran with the following command:
>
> yarn test:unit
>
>
> Please let us know what you think and if there are any issues!
>
(pgadmin4) piranha:web dpage$ yarn test:unit
yarn run v1.3.2
$ yarn run linter && pytest -q pgadmin
$ yarn eslint --no-eslintrc -c .eslintrc.js --ext .js --ext .jsx .
$ /Users/dpage/git/pgadmin4/web/node_modules/.bin/eslint --no-eslintrc -c
.eslintrc.js --ext .js --ext .jsx .
Traceback (most recent call last):
File
"/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/_pytest/config.py",
line 371, in _importconftest
mod = conftestpath.pyimport()
File
"/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/py/_path/local.py",
line 668, in pyimport
__import__(modname)
File "/Users/dpage/git/pgadmin4/web/pgadmin/__init__.py", line 29, in
<module>
from pgadmin.model import db, Role, Server, ServerGroup, \
ImportError: No module named pgadmin.model
ERROR: could not load /Users/dpage/git/pgadmin4/web/pgadmin/conftest.py
error Command failed with exit code 4.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this
command.
>
> *Note: *The feature tests are not yet completed. We expect our CI to fail
> as a result of this patch. We will complete this step soon in a follow-up
> patch!
>
> https://docs.pytest.org/en/latest/
> https://github.com/grappa-py/grappa
>
Please don't forget to update the README and top level Makefile as well!
I'll probably have to tweak my Windows CI jobs, but the Linux/Mac ones all
use the Makefile (which is also hard-coded into my fingers)!
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Joao De Almeida Pereira | 2018-05-24 14:43:02 | Re: [pgadmin4][patch] Initial patch to decouple from ACI Tree |
Previous Message | Dave Page | 2018-05-24 09:55:31 | Re: Implement geospatial data viewer in pgAdmin4 for PostGIS |