title: Skip parametrized tests generated by pytest_generate_tests at module level
body: <p>I would like to be able to parametrize a couple of tests from a config file, but at the same time being able to skip those tests unless a specific command option is issued.</p>
  
  <p>I can skip tests by adding the following code at the top of the test module:</p>
  
  <pre><code>from json import loads
  import pytest
  @pytest.mark.skipif(pytest.config.getvalue("-k") != "smoke",
                      reason="Smoke tests must be explicitly launched through -k smoke option")
  </code></pre>
  
  <p>The tests are not executed when issuing <code>py.test</code> or <code>python -m pytest</code> unless the option <code>-k smoke</code> is added.</p>
  
  <p>I also can create parametrized tests from config files by:</p>
  
  <pre><code>def pytest_generate_tests(metafunc):
      with open('tests/test_smoke.json','r') as fp:
          confs = loads(fp.read().decode("utf-8-sig"))
  
          for arg in metafunc.funcargnames:
              if arg == "conf":
                  metafunc.parametrize("conf",confs)
  </code></pre>
  
  <p>And example of test that is parametrized would be:</p>
  
  <pre><code>def test_that_require_conf(conf):
      assert not conf
  </code></pre>
  
  <p>The problem is that both things do not work nicely together. The test is not skipped when <code>pytest_generate_tests</code> is used.
  If I add an option in <code>pytest_generate_tests</code> in order to avoid the parametrization, then the call yo <code>pytest</code> fails because
  <code>conf</code> fixture required by <code>test_that_require_conf</code> can not be found.</p>
  
  <p>Any idea about how to achieve this?</p>