diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index de3ca31..74d14c5 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -11,17 +11,17 @@
 
 class TestExtension(object):
     def test_not_an_oid(self):
-        bc = x509.BasicConstraints(False, None)
+        bc = x509.BasicConstraints(ca=False, path_length=None)
         with pytest.raises(TypeError):
             x509.Extension("notanoid", True, bc)
 
     def test_critical_not_a_bool(self):
-        bc = x509.BasicConstraints(False, None)
+        bc = x509.BasicConstraints(ca=False, path_length=None)
         with pytest.raises(TypeError):
             x509.Extension(x509.OID_BASIC_CONSTRAINTS, "notabool", bc)
 
     def test_repr(self):
-        bc = x509.BasicConstraints(False, None)
+        bc = x509.BasicConstraints(ca=False, path_length=None)
         ext = x509.Extension(x509.OID_BASIC_CONSTRAINTS, True, bc)
         assert repr(ext) == (
             "<Extension(oid=<ObjectIdentifier(oid=2.5.29.19, name=basicConst"
@@ -33,25 +33,25 @@
 class TestBasicConstraints(object):
     def test_ca_not_boolean(self):
         with pytest.raises(TypeError):
-            x509.BasicConstraints("notbool", None)
+            x509.BasicConstraints(ca="notbool", path_length=None)
 
     def test_path_length_not_ca(self):
         with pytest.raises(ValueError):
-            x509.BasicConstraints(False, 0)
+            x509.BasicConstraints(ca=False, path_length=0)
 
     def test_path_length_not_int(self):
         with pytest.raises(TypeError):
-            x509.BasicConstraints(True, 1.1)
+            x509.BasicConstraints(ca=True, path_length=1.1)
 
         with pytest.raises(TypeError):
-            x509.BasicConstraints(True, "notint")
+            x509.BasicConstraints(ca=True, path_length="notint")
 
     def test_path_length_negative(self):
         with pytest.raises(TypeError):
-            x509.BasicConstraints(True, -1)
+            x509.BasicConstraints(ca=True, path_length=-1)
 
     def test_repr(self):
-        na = x509.BasicConstraints(True, None)
+        na = x509.BasicConstraints(ca=True, path_length=None)
         assert repr(na) == (
             "<BasicConstraints(ca=True, path_length=None)>"
         )
