Add journal
This commit is contained in:
parent
a50f49d2c8
commit
268e3b6a47
@ -1,9 +1,21 @@
|
||||
Title: Lab Fourteen
|
||||
Date: 2022-10-31T08:30:00
|
||||
Tags: cs2613, lab, python
|
||||
Tags: cs2613, lab, python, pytest, exceptions, modules
|
||||
|
||||
Sample description
|
||||
In this lab I learned about python, pytest, python exceptions and modules.
|
||||
<!-- more -->
|
||||
|
||||
## Sample Body
|
||||
Sample Body
|
||||
## Pytest
|
||||
Pytest is a python testing framework. It can show you code coverage with line counts. This is pretty similar to `nyc` from javascript. You run tests by just running `pytest` or `pytest -cov` for code coverage. Tests are defined by in a file having a function with an assert statement. Pytest will then scan your files for assert statements and run those functions to run tests. Testing in python is pretty simple, like with javascript. Racket testing is a little more abstract and confusing in my opinion.
|
||||
|
||||
## Modules
|
||||
In python functions are exported by default, in contrast to javascript. You must guard your main method with the `if __name__ =='__main__'` text so it does not run when the module is imported. You can make tests to ensure you have documentation for your functions, by checking for the imports `__doc__` variable.
|
||||
|
||||
## Indentation
|
||||
In python, blocks are defined by indentation (also known as whitespace). This sets the scope for a given statement. It can be a little confusing to tell if an if statement is in a for loop or not, but linters help.
|
||||
|
||||
## Exceptions
|
||||
Python can raise errors when things go wrong, for example diving by zero. You can catch these exceptions and handle them if you desire.
|
||||
|
||||
## FizzBuzz missing case
|
||||
You can fix the missing case just by adding another if statement above the other if statement for the fizz case.
|
Loading…
Reference in New Issue
Block a user