@@ -11843,11 +11843,11 @@ <h1 id="Efficient-use-of-pytest-fixtures">Efficient use of <code>pytest</code> f
11843
11843
< div class ="output_subarea output_stream output_stdout output_text ">
11844
11844
< pre > Requirement already satisfied: pytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (3.5.0)
11845
11845
Requirement already satisfied: ipytest in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (0.2.2)
11846
- Requirement already satisfied: py>=1.5.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.5.3)
11847
- Requirement already satisfied: attrs>=17.4.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (17.4.0)
11848
11846
Requirement already satisfied: pluggy<0.7,>=0.5 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (0.6.0)
11849
11847
Requirement already satisfied: six>=1.10.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.11.0)
11850
11848
Requirement already satisfied: more-itertools>=4.0.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (4.1.0)
11849
+ Requirement already satisfied: attrs>=17.4.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (17.4.0)
11850
+ Requirement already satisfied: py>=1.5.0 in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (1.5.3)
11851
11851
Requirement already satisfied: setuptools in /Users/jerry/.virtualenvs/learn-python3/lib/python3.5/site-packages (from pytest) (39.0.1)
11852
11852
</ pre >
11853
11853
</ div >
@@ -12215,13 +12215,88 @@ <h3 id="monkeypatch"><a href="https://docs.pytest.org/en/latest/reference.html#_
12215
12215
</ div >
12216
12216
< div class ="inner_cell ">
12217
12217
< div class ="text_cell_render border-box-sizing rendered_html ">
12218
- < h2 id ="Fixture-scope "> Fixture scope< a class ="anchor-link " href ="#Fixture-scope "> ¶</ a > </ h2 >
12218
+ < h3 id ="tmpdir "> < a href ="https://docs.pytest.org/en/latest/tmpdir.html#the-tmpdir-fixture "> < code > tmpdir</ code > </ a > < a class ="anchor-link " href ="#tmpdir "> ¶</ a > </ h3 > < p > < a href ="https://docs.pytest.org/en/latest/tmpdir.html#the-tmpdir-fixture "> < code > tmpdir</ code > </ a > fixture provides functionality for creating temporary files and directories.</ p >
12219
+
12219
12220
</ div >
12220
12221
</ div >
12221
12222
</ div >
12222
12223
< div class ="cell border-box-sizing code_cell rendered ">
12223
12224
< div class ="input ">
12224
12225
< div class ="prompt input_prompt "> In [12]:</ div >
12226
+ < div class ="inner_cell ">
12227
+ < div class ="input_area ">
12228
+ < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="k "> def</ span > < span class ="nf "> word_count_of_txt_file</ span > < span class ="p "> (</ span > < span class ="n "> file_path</ span > < span class ="p "> ):</ span >
12229
+ < span class ="k "> with</ span > < span class ="nb "> open</ span > < span class ="p "> (</ span > < span class ="n "> file_path</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'r'</ span > < span class ="p "> )</ span > < span class ="k "> as</ span > < span class ="n "> f</ span > < span class ="p "> :</ span >
12230
+ < span class ="n "> content</ span > < span class ="o "> =</ span > < span class ="n "> f</ span > < span class ="o "> .</ span > < span class ="n "> read</ span > < span class ="p "> ()</ span >
12231
+ < span class ="k "> return</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> content</ span > < span class ="o "> .</ span > < span class ="n "> split</ span > < span class ="p "> ())</ span >
12232
+ </ pre > </ div >
12233
+
12234
+ </ div >
12235
+ </ div >
12236
+ </ div >
12237
+
12238
+ </ div >
12239
+ < div class ="cell border-box-sizing code_cell rendered ">
12240
+ < div class ="input ">
12241
+ < div class ="prompt input_prompt "> In [13]:</ div >
12242
+ < div class ="inner_cell ">
12243
+ < div class ="input_area ">
12244
+ < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="o "> %%</ span > < span class ="k "> run_pytest</ span > [clean] '-s'
12245
+
12246
+ def test_word_count(tmpdir):
12247
+ test_file = tmpdir.join('test.txt')
12248
+ test_file.write('This is example content of seven words')
12249
+ res = word_count_of_txt_file(str(test_file)) # str returns the path
12250
+ assert res == 7
12251
+ </ pre > </ div >
12252
+
12253
+ </ div >
12254
+ </ div >
12255
+ </ div >
12256
+
12257
+ < div class ="output_wrapper ">
12258
+ < div class ="output ">
12259
+
12260
+
12261
+ < div class ="output_area ">
12262
+
12263
+ < div class ="prompt "> </ div >
12264
+
12265
+
12266
+ < div class ="output_subarea output_stream output_stdout output_text ">
12267
+ < pre > =========================================================== test session starts ===========================================================
12268
+ platform darwin -- Python 3.5.4, pytest-3.5.0, py-1.5.3, pluggy-0.6.0
12269
+ rootdir: /Users/jerry/github/jerry-git/learn-python3, inifile: pytest.ini
12270
+ plugins: nbval-0.9.0
12271
+ collected 1 item
12272
+
12273
+ pytest_fixtures.py .
12274
+
12275
+ ============================================================ warnings summary =============================================================
12276
+ None
12277
+ Module already imported so cannot be rewritten: nbval
12278
+
12279
+ -- Docs: http://doc.pytest.org/en/latest/warnings.html
12280
+ ================================================== 1 passed, 1 warnings in 0.03 seconds ===================================================
12281
+ </ pre >
12282
+ </ div >
12283
+ </ div >
12284
+
12285
+ </ div >
12286
+ </ div >
12287
+
12288
+ </ div >
12289
+ < div class ="cell border-box-sizing text_cell rendered "> < div class ="prompt input_prompt ">
12290
+ </ div >
12291
+ < div class ="inner_cell ">
12292
+ < div class ="text_cell_render border-box-sizing rendered_html ">
12293
+ < h2 id ="Fixture-scope "> Fixture scope< a class ="anchor-link " href ="#Fixture-scope "> ¶</ a > </ h2 >
12294
+ </ div >
12295
+ </ div >
12296
+ </ div >
12297
+ < div class ="cell border-box-sizing code_cell rendered ">
12298
+ < div class ="input ">
12299
+ < div class ="prompt input_prompt "> In [14]:</ div >
12225
12300
< div class ="inner_cell ">
12226
12301
< div class ="input_area ">
12227
12302
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="c1 "> # scope is function also by default</ span >
@@ -12245,7 +12320,7 @@ <h2 id="Fixture-scope">Fixture scope<a class="anchor-link" href="#Fixture-scope"
12245
12320
</ div >
12246
12321
< div class ="cell border-box-sizing code_cell rendered ">
12247
12322
< div class ="input ">
12248
- < div class ="prompt input_prompt "> In [13 ]:</ div >
12323
+ < div class ="prompt input_prompt "> In [15 ]:</ div >
12249
12324
< div class ="inner_cell ">
12250
12325
< div class ="input_area ">
12251
12326
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="o "> %%</ span > < span class ="k "> run_pytest</ span > [clean] '-s'
@@ -12311,7 +12386,7 @@ <h2 id="Setup-teardown-behaviour">Setup-teardown behaviour<a class="anchor-link"
12311
12386
</ div >
12312
12387
< div class ="cell border-box-sizing code_cell rendered ">
12313
12388
< div class ="input ">
12314
- < div class ="prompt input_prompt "> In [14 ]:</ div >
12389
+ < div class ="prompt input_prompt "> In [16 ]:</ div >
12315
12390
< div class ="inner_cell ">
12316
12391
< div class ="input_area ">
12317
12392
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="nd "> @pytest</ span > < span class ="o "> .</ span > < span class ="n "> fixture</ span >
@@ -12328,7 +12403,7 @@ <h2 id="Setup-teardown-behaviour">Setup-teardown behaviour<a class="anchor-link"
12328
12403
</ div >
12329
12404
< div class ="cell border-box-sizing code_cell rendered ">
12330
12405
< div class ="input ">
12331
- < div class ="prompt input_prompt "> In [15 ]:</ div >
12406
+ < div class ="prompt input_prompt "> In [17 ]:</ div >
12332
12407
< div class ="inner_cell ">
12333
12408
< div class ="input_area ">
12334
12409
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="o "> %%</ span > < span class ="k "> run_pytest</ span > [clean] '-s'
@@ -12390,7 +12465,7 @@ <h2 id="Using-fixtures-automatically">Using fixtures automatically<a class="anch
12390
12465
</ div >
12391
12466
< div class ="cell border-box-sizing code_cell rendered ">
12392
12467
< div class ="input ">
12393
- < div class ="prompt input_prompt "> In [16 ]:</ div >
12468
+ < div class ="prompt input_prompt "> In [18 ]:</ div >
12394
12469
< div class ="inner_cell ">
12395
12470
< div class ="input_area ">
12396
12471
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="nd "> @pytest</ span > < span class ="o "> .</ span > < span class ="n "> fixture</ span > < span class ="p "> (</ span > < span class ="n "> autouse</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> )</ span >
@@ -12405,7 +12480,7 @@ <h2 id="Using-fixtures-automatically">Using fixtures automatically<a class="anch
12405
12480
</ div >
12406
12481
< div class ="cell border-box-sizing code_cell rendered ">
12407
12482
< div class ="input ">
12408
- < div class ="prompt input_prompt "> In [17 ]:</ div >
12483
+ < div class ="prompt input_prompt "> In [19 ]:</ div >
12409
12484
< div class ="inner_cell ">
12410
12485
< div class ="input_area ">
12411
12486
< div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="o "> %%</ span > < span class ="k "> run_pytest</ span > [clean] '-s'
@@ -12448,7 +12523,7 @@ <h2 id="Using-fixtures-automatically">Using fixtures automatically<a class="anch
12448
12523
Module already imported so cannot be rewritten: nbval
12449
12524
12450
12525
-- Docs: http://doc.pytest.org/en/latest/warnings.html
12451
- ================================================== 2 passed, 1 warnings in 0.02 seconds ===================================================
12526
+ ================================================== 2 passed, 1 warnings in 0.03 seconds ===================================================
12452
12527
</ pre >
12453
12528
</ div >
12454
12529
</ div >
0 commit comments