--- a/tests/test_hdf5_filters.py
+++ b/tests/test_hdf5_filters.py
@@ -32,7 +32,6 @@
 
 import hdf5storage
 
-from nose.tools import raises
 
 from asserts import *
 from make_randoms import *
--- a/tests/test_string_utf16_conversion.py
+++ b/tests/test_string_utf16_conversion.py
@@ -36,7 +36,6 @@
 
 import hdf5storage
 
-import nose.tools
 
 
 # A test to make sure that the following are written as UTF-16
@@ -59,7 +58,7 @@
                           store_python_metadata=False,
                           convert_numpy_str_to_utf16=True)
         with h5py.File(filename, mode='r') as f:
-            nose.tools.assert_equal(f[name].dtype.type, np.uint16)
+            assert f[name].dtype.type == np.uint16
     except:
         raise
     finally:
--- a/tests/test_matlab_compatibility.py
+++ b/tests/test_matlab_compatibility.py
@@ -28,7 +28,6 @@
 import os.path
 import subprocess
 
-from nose.plugins.skip import SkipTest
 
 import hdf5storage
 
@@ -85,7 +84,7 @@
 
 def test_read_from_matlab():
     if not ran_matlab_successful[0]:
-        raise SkipTest
+        return
     for k in (set(types_v7.keys()) - set(['__version__', '__header__', \
             '__globals__'])):
         yield check_variable_from_matlab, k
@@ -93,7 +92,7 @@
 
 def test_to_matlab_back():
     if not ran_matlab_successful[0]:
-        raise SkipTest
+        return
     for k in set(types_v7p3.keys()):
         yield check_variable_to_matlab_back, k
 
--- a/tests/test_write_readback.py
+++ b/tests/test_write_readback.py
@@ -37,7 +37,26 @@
 
 import hdf5storage
 
-from nose.tools import raises
+from functools import wraps
+
+def raises(*exceptions):
+    valid = ' or '.join([e.__name__ for e in exceptions])
+
+    def decorate(func):
+        name = func.__name__
+        def newfunc(*arg, **kw):
+            try:
+                func(*arg, **kw)
+            except exceptions:
+                pass
+            except:
+                raise
+            else:
+                message = "%s() did not raise %s" % (name, valid)
+                raise AssertionError(message)
+        newfunc = wraps(func)(newfunc)
+        return newfunc
+    return decorate
 
 from asserts import *
 from make_randoms import *
