On 12/31/13 12:49 PM, Roy Smith wrote:
Environment:
   Python 2.7.3
   nose 1.3.0
   Ubuntu 12.04 Linux

I'm befuddled about how test skipping, and in particular, --no-skip,
is supposed to work in nose.  I've got a trivial test file:

from nose import SkipTest
def test_skip():
     raise SkipTest
     assert 0

If I run this, it skips the test, as expected:


$ nosetests try.py
S
----------------------------------------------------------------------
Ran 1 test in 0.001s

OK (SKIP=1)


What's confusing is, if I use --no-skip, it STILL skips the test:

$ nosetests --no-skip try.py

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK

The only difference is it doesn't print the "S".  Am I just
mis-understanding what --no-skip is supposed to do?


I don't understand why, but my tests confirm what you found: if a test raises SkipTest, then it is marked as an S, and included in the count of tests run. If you run with --no-skip, then the result of the test isn't displayed in the dots at all, but the test is still included in the total count:

$ nosetests
F.S
======================================================================
FAIL: test_fail (test_foo.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ned/lab/test_foo.py", line 8, in test_fail
    assert 0
AssertionError

----------------------------------------------------------------------
Ran 3 tests in 0.004s

FAILED (SKIP=1, failures=1)

$ nosetests --no-skip
F.
======================================================================
FAIL: test_fail (test_foo.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ned/lab/test_foo.py", line 8, in test_fail
    assert 0
AssertionError

----------------------------------------------------------------------
Ran 3 tests in 0.003s

FAILED (failures=1)


--
Ned Batchelder, http://nedbatchelder.com

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to