I totally agree, Steve, that there is much more to explore with
py.test than simple invocation we describe here. And I better
understand how you come to the pattern ``py.test mymodule/mytests.py
-q``. My experience took an other path, where I was sure that using
``py.test`` alone should work, googled about it, and found
configuration i purposed here ;-)

@all:
Anyway, I rework previous patch to meet Michael preferences, and it is
now simpler: just adding tow new file to each scaffold (one for
`pytest`, the other for `coverage`). I also update narrative doc. to
first use simple ``py.test -q`` call (letting a reference to the more
explicit ``py.test mymodule/mytests.py -q`` pattern).

The bad news is that I simply failed to create a PR, in that pushing
new commits to 1.7-branch of my forked repo. aborts (with a
[french/here translated] message like:
" ! [rejected]        1.7-branch -> 1.7-branch (non-fast-forward)
error: unable to push references to
'https://github.com/vincent-ferotin/pyramid.git'
astuce: Update failed due to branch head is behind
astuce: its distant homologue.
astuce: Pull distant changes (e.g. 'git pull ...')
astuce: before pushing. [...]").

I'm not familiar enough with git to resolve this issue.
So I push patches here: https://github.com/vincent-ferotin/pyramid-patches
Patches could be imported by StackedGit (`stg`) through ``stg import
--series pyramid-patches/series``).

I'm sorry about that, and hope this will not abort insert of these
changes in Pyramid's repo.

-- Vincent

2016-05-06 17:52 GMT+02:00 Steve Piercy <steve.piercy....@gmail.com>:
> In this case, py.test was totally new to me.  I had always used ``nose`` or
> ``tox`` that someone else wrote or setup.py'ed for me.  I was a beginner to
> py.test and test discoverability.
>
> When I tried running tests out of the box following that pattern via
> ``py.test``, it didn't work.  Hmm, I thought, there *must* be some way to
> make it work.  So I Google Fu'd, visited the link[1] to read about test
> discovery, and it became clear in my mind how to do so.  I then wrote the
> documentation for how to run tests for the scaffold.  As a beginner, I
> managed to work it out.
>
> Because I learned something from this process, I think it is good for
> beginners to realize that there is more to py.test than its mere invocation
> without options.  There's a lot to explore.  After having this discussion, I
> think I should add this reference to the tutorial installation step.
>
> For what it's worth, when we go deeper into tests, we use the simple
> invocation with a single option to suppress output, ``py.test -q``.[2]
>
> [1] http://pytest.org/latest/goodpractices.html#python-test-discovery
> [2]
> http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/tutorials/wiki2/tests.html#running-the-tests
>
> --steve
>
>
> On 5/6/16 at 2:51 PM, vincent.fero...@gmail.com (Vincent Férotin)
> pronounced:
>
>
>> Thank you, Michael and Steve, for the quick responses.
>>
>> I will open a PR on github with changes to take in consideration what you
>> said.
>>
>> @Steve:
>> Sure you can explicitly tell py.test to run a specific test module,
>> but the whole point of my suggestion is to not pass test module path
>> to py.test. It's the point of view of a beginner, not familiar with
>> Pyramid scaffolds nor py.test: isn't it easier/more convenient to only
>> run ``py.test`` at project's root directory, just after project
>> creation by scaffold, and get all tests collected by default?
>>
>> -- Vincent
>>
>> 2016-05-05 19:46 GMT+02:00 Steve Piercy <steve.piercy....@gmail.com>:
>>>
>>> On 5/5/16 at 9:44 AM, vincent.fero...@gmail.com (Vincent Férotin)
>>> pronounced:
>>>
>>>> scaffolds are not ready for naive usage of py.test by new comers to
>>>> Pyramid,
>>>> i.e. running ``py.test [--cov]`` at new project's root collects no
>>>> tests.
>>>
>>>
>>>
>>> You are correct in that one cannot just naïvely run:
>>>
>>> $ py.test [--cov]
>>>
>>> py.test discovers tests in the following manner:
>>> http://pytest.org/latest/goodpractices.html#python-test-discovery
>>>
>>> By following the instructions for the SQLAlchemy + URL dispatch wiki
>>> tutorial to get started:
>>>
>>
>> http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/tutorials/wiki2/
>> installation.html
>>>
>>>
>>> I can run the tests:
>>>
>>> stevepi-mbp:tutorial stevepiercy$ $VENV/bin/py.test tutorial/tests.py -q
>>> ..
>>> 2 passed in 0.54 seconds
>>>
>>> stevepi-mbp:tutorial stevepiercy$ $VENV/bin/py.test --cov=tutorial
>>> --cov-report=term-missing tutorial/tests.py
>>> =======================================================================
>>> test
>>> session starts
>>> ========================================================================
>>> platform darwin -- Python 3.5.0, pytest-2.9.1, py-1.4.31, pluggy-0.3.1
>>> rootdir: /Users/stevepiercy/pyramidtut/tutorial, inifile:
>>> plugins: cov-2.2.1
>>> collected 2 items
>>>
>>> tutorial/tests.py ..
>>> --------------------------------------------------------- coverage:
>>> platform
>>> darwin, python 3.5.0-final-0
>>> ----------------------------------------------------------
>>> Name                               Stmts   Miss  Cover   Missing
>>> ----------------------------------------------------------------
>>> tutorial/__init__.py                   8      6    25%   7-12
>>> tutorial/models/__init__.py           22      0   100%
>>> tutorial/models/meta.py                5      0   100%
>>> tutorial/models/mymodel.py             8      0   100%
>>> tutorial/routes.py                     3      3     0%   1-3
>>> tutorial/scripts/__init__.py           0      0   100%
>>> tutorial/scripts/initializedb.py      26     26     0%   1-45
>>> tutorial/tests.py                     39      0   100%
>>> tutorial/views/__init__.py             0      0   100%
>>> tutorial/views/default.py             12      0   100%
>>> tutorial/views/notfound.py             4      4     0%   1-7
>>> ----------------------------------------------------------------
>>> TOTAL                                127     39    69%
>>>
>>> ===================================================================== 2
>>> passed in 0.57 seconds
>>> =====================================================================
>>> stevepi-mbp:tutorial stevepiercy$
>>>
>>> --steve
>>>
>>> ------------------------
>>> Steve Piercy, Soquel, CA
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "pylons-devel" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to pylons-devel+unsubscr...@googlegroups.com.
>>> To post to this group, send email to pylons-devel@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/pylons-devel.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>
> ------------------------
> Steve Piercy, Soquel, CA
>
> --
> You received this message because you are subscribed to the Google Groups
> "pylons-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to pylons-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to pylons-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/pylons-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to pylons-devel+unsubscr...@googlegroups.com.
To post to this group, send email to pylons-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/pylons-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to