Skip to content

Instantly share code, notes, and snippets.

@LiamJolly
LiamJolly / simple_calc.py
Created February 5, 2017 09:21
Simple calc
def add(num1, num2):
return num1 + num2
def subtract(num1, num2):
return num1 - num2
def multiply(num1, num2):
return num1 * num2
@LiamJolly
LiamJolly / simple_calc_test.py
Created February 5, 2017 09:33
Unit test for the simple calculator functions.
import unittest
import simple_calc as sc
class SimpleCalcTest(unittest.TestCase):
def test_add(self):
result = sc.add(1, 2)
self.assertEqual(result, 3)
@LiamJolly
LiamJolly / users.py
Last active February 18, 2017 08:20
import file_utils
file_path = "INSERT_PATH_HERE"
def get_users():
users = file_utils.read_file(file_path)
return users
@LiamJolly
LiamJolly / users_test.py
Last active March 15, 2017 08:54
Simple example of mocking two functions for the purpose of testing.
import unittest
import mock
import users
import file_utils
class UsersTest(unittest.TestCase):
_file_path = "SOME FILE PATH"
def test_get_users(self):
def write_file(path, content):
file_to_write = open(path, "w")
file_to_write.write(content)
file_to_write.close()
def read_file(path):
with open(path, 'r') as file_to_read:
data = file_to_read.read()
return data
@LiamJolly
LiamJolly / users_test2.py
Last active March 15, 2017 08:55
Demonstrates the dangers and scope of this kind of mocking.
import unittest
import mock
import users
import file_utils
class UsersTest(unittest.TestCase):
_file_path = "INSERT_PATH_HERE"
def test_get_users(self):
@LiamJolly
LiamJolly / users_test3.py
Last active March 15, 2017 08:55
Testing using mocks and with form.
import unittest
import mock
import users
import file_utils
class UsersTest(unittest.TestCase):
_file_path = "INSERT_PATH_HERE"
def test_get_users(self):
@LiamJolly
LiamJolly / users_test4.py
Last active March 15, 2017 08:56
Testing using mock deocorators.
import unittest
import mock
import users
import file_utils
class UsersTest(unittest.TestCase):
_file_path = "INSERT_PATH_HERE"
@mock.patch("file_utils.read_file", return_value="user1")
@LiamJolly
LiamJolly / file_utils_test.py
Last active March 15, 2017 09:34
Unit tests for file_utils.py, demontrating mock_open.
import unittest
import mock
import file_utils
class FileUtilsTest(unittest.TestCase):
def test_read_file(self):
with mock.patch("__builtin__.open", mock.mock_open(read_data="MOCKED"), create=True) as mock_file:
result = file_utils.read_file("path")
@LiamJolly
LiamJolly / exception_example.py
Last active April 2, 2017 08:08
A really simple example to help demonstrate mocks that throw exceptions.
def find_user(username):
if username == "user1":
return dict(name="user1", id_no="12345")
else:
raise Exception
def does_user_exist(username):
try:
find_user(username)