diff --git a/tests/autopep8_wrapper_test.py b/tests/autopep8_wrapper_test.py
index 615ec25..f8030b5 100644
--- a/tests/autopep8_wrapper_test.py
+++ b/tests/autopep8_wrapper_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.autopep8_wrapper import main
diff --git a/tests/check_added_large_files_test.py b/tests/check_added_large_files_test.py
index 2f67d1b..c33a9ca 100644
--- a/tests/check_added_large_files_test.py
+++ b/tests/check_added_large_files_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import distutils.spawn
 
 import pytest
@@ -78,7 +75,7 @@
 @xfailif_no_gitlfs
 def test_allows_gitlfs(temp_git_dir, monkeypatch):  # pragma: no cover
     with temp_git_dir.as_cwd():
-        monkeypatch.setenv(str('HOME'), str(temp_git_dir.strpath))
+        monkeypatch.setenv('HOME', str(temp_git_dir.strpath))
         cmd_output('git', 'lfs', 'install')
         temp_git_dir.join('f.py').write('a' * 10000)
         cmd_output('git', 'lfs', 'track', 'f.py')
@@ -90,7 +87,7 @@
 @xfailif_no_gitlfs
 def test_moves_with_gitlfs(temp_git_dir, monkeypatch):  # pragma: no cover
     with temp_git_dir.as_cwd():
-        monkeypatch.setenv(str('HOME'), str(temp_git_dir.strpath))
+        monkeypatch.setenv('HOME', str(temp_git_dir.strpath))
         cmd_output('git', 'lfs', 'install')
         cmd_output('git', 'lfs', 'track', 'a.bin', 'b.bin')
         # First add the file we're going to move
diff --git a/tests/check_ast_test.py b/tests/check_ast_test.py
index c16f5fc..686fd11 100644
--- a/tests/check_ast_test.py
+++ b/tests/check_ast_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 from pre_commit_hooks.check_ast import main
 from testing.util import get_resource_path
 
diff --git a/tests/check_builtin_literals_test.py b/tests/check_builtin_literals_test.py
index 8e18854..01193e8 100644
--- a/tests/check_builtin_literals_test.py
+++ b/tests/check_builtin_literals_test.py
@@ -7,7 +7,7 @@
 from pre_commit_hooks.check_builtin_literals import Visitor
 
 BUILTIN_CONSTRUCTORS = '''\
-from six.moves import builtins
+import builtins
 
 c1 = complex()
 d1 = dict()
diff --git a/tests/check_byte_order_marker_test.py b/tests/check_byte_order_marker_test.py
index 53cb4a1..9995200 100644
--- a/tests/check_byte_order_marker_test.py
+++ b/tests/check_byte_order_marker_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 from pre_commit_hooks import check_byte_order_marker
 
 
diff --git a/tests/check_case_conflict_test.py b/tests/check_case_conflict_test.py
index 077b41b..53de852 100644
--- a/tests/check_case_conflict_test.py
+++ b/tests/check_case_conflict_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 from pre_commit_hooks.check_case_conflict import find_conflicting_filenames
 from pre_commit_hooks.check_case_conflict import main
 from pre_commit_hooks.util import cmd_output
diff --git a/tests/check_docstring_first_test.py b/tests/check_docstring_first_test.py
index 0973a58..7ad876f 100644
--- a/tests/check_docstring_first_test.py
+++ b/tests/check_docstring_first_test.py
@@ -1,7 +1,3 @@
-# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.check_docstring_first import check_docstring_first
diff --git a/tests/check_executables_have_shebangs_test.py b/tests/check_executables_have_shebangs_test.py
index 0cb9dcf..15f0c79 100644
--- a/tests/check_executables_have_shebangs_test.py
+++ b/tests/check_executables_have_shebangs_test.py
@@ -1,7 +1,3 @@
-# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.check_executables_have_shebangs import main
@@ -12,7 +8,7 @@
         b'#!/bin/bash\nhello world\n',
         b'#!/usr/bin/env python3.6',
         b'#!python',
-        '#!☃'.encode('UTF-8'),
+        '#!☃'.encode(),
     ),
 )
 def test_has_shebang(content, tmpdir):
@@ -27,7 +23,7 @@
         b' #!python\n',
         b'\n#!python\n',
         b'python\n',
-        '☃'.encode('UTF-8'),
+        '☃'.encode(),
 
     ),
 )
@@ -36,4 +32,4 @@
     path.write(content, 'wb')
     assert main((path.strpath,)) == 1
     _, stderr = capsys.readouterr()
-    assert stderr.startswith('{}: marked executable but'.format(path.strpath))
+    assert stderr.startswith(f'{path}: marked executable but')
diff --git a/tests/check_merge_conflict_test.py b/tests/check_merge_conflict_test.py
index af7cc43..9968507 100644
--- a/tests/check_merge_conflict_test.py
+++ b/tests/check_merge_conflict_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import os
 import shutil
 
diff --git a/tests/check_toml_test.py b/tests/check_toml_test.py
index 1172c40..9f186d1 100644
--- a/tests/check_toml_test.py
+++ b/tests/check_toml_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 from pre_commit_hooks.check_toml import main
 
 
diff --git a/tests/check_vcs_permalinks_test.py b/tests/check_vcs_permalinks_test.py
index 00e5396..b893c98 100644
--- a/tests/check_vcs_permalinks_test.py
+++ b/tests/check_vcs_permalinks_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 from pre_commit_hooks.check_vcs_permalinks import main
 
 
diff --git a/tests/check_yaml_test.py b/tests/check_yaml_test.py
index d267150..2f869d1 100644
--- a/tests/check_yaml_test.py
+++ b/tests/check_yaml_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.check_yaml import main
diff --git a/tests/conftest.py b/tests/conftest.py
index da206cb..f98ae34 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,7 +1,3 @@
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.util import cmd_output
diff --git a/tests/debug_statement_hook_test.py b/tests/debug_statement_hook_test.py
index d15f5f7..f2cabc1 100644
--- a/tests/debug_statement_hook_test.py
+++ b/tests/debug_statement_hook_test.py
@@ -1,7 +1,3 @@
-# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import ast
 
 from pre_commit_hooks.debug_statement_hook import Debug
diff --git a/tests/fix_encoding_pragma_test.py b/tests/fix_encoding_pragma_test.py
index d94b725..f3531f2 100644
--- a/tests/fix_encoding_pragma_test.py
+++ b/tests/fix_encoding_pragma_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import io
 
 import pytest
@@ -129,9 +126,6 @@
 @pytest.mark.parametrize(
     ('input_s', 'expected'),
     (
-        # Python 2 cli parameters are bytes
-        (b'# coding: utf-8', b'# coding: utf-8'),
-        # Python 3 cli parameters are text
         ('# coding: utf-8', b'# coding: utf-8'),
         # trailing whitespace
         ('# coding: utf-8\n', b'# coding: utf-8'),
@@ -149,7 +143,7 @@
     assert main((f.strpath, '--pragma', pragma)) == 1
     assert f.read() == '# coding: utf-8\nx = 1\n'
     out, _ = capsys.readouterr()
-    assert out == 'Added `# coding: utf-8` to {}\n'.format(f.strpath)
+    assert out == f'Added `# coding: utf-8` to {f.strpath}\n'
 
 
 def test_crlf_ok(tmpdir):
diff --git a/tests/forbid_new_submodules_test.py b/tests/forbid_new_submodules_test.py
index 523628d..7619182 100644
--- a/tests/forbid_new_submodules_test.py
+++ b/tests/forbid_new_submodules_test.py
@@ -1,5 +1,3 @@
-from __future__ import absolute_import
-
 import subprocess
 
 import pytest
diff --git a/tests/mixed_line_ending_test.py b/tests/mixed_line_ending_test.py
index 8ae9354..c438f74 100644
--- a/tests/mixed_line_ending_test.py
+++ b/tests/mixed_line_ending_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.mixed_line_ending import main
@@ -86,7 +83,7 @@
     assert ret == 1
     assert path.read_binary() == contents
     out, _ = capsys.readouterr()
-    assert out == '{}: mixed line endings\n'.format(path)
+    assert out == f'{path}: mixed line endings\n'
 
 
 def test_fix_lf(tmpdir, capsys):
@@ -97,7 +94,7 @@
     assert ret == 1
     assert path.read_binary() == b'foo\nbar\nbaz\n'
     out, _ = capsys.readouterr()
-    assert out == '{}: fixed mixed line endings\n'.format(path)
+    assert out == f'{path}: fixed mixed line endings\n'
 
 
 def test_fix_crlf(tmpdir):
diff --git a/tests/no_commit_to_branch_test.py b/tests/no_commit_to_branch_test.py
index a2ab1f1..72b32e6 100644
--- a/tests/no_commit_to_branch_test.py
+++ b/tests/no_commit_to_branch_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.no_commit_to_branch import is_on_branch
diff --git a/tests/pretty_format_json_test.py b/tests/pretty_format_json_test.py
index b42e504..59a87f0 100644
--- a/tests/pretty_format_json_test.py
+++ b/tests/pretty_format_json_test.py
@@ -2,7 +2,6 @@
 import shutil
 
 import pytest
-from six import PY2
 
 from pre_commit_hooks.pretty_format_json import main
 from pre_commit_hooks.pretty_format_json import parse_num_to_int
@@ -42,7 +41,6 @@
     assert ret == expected_retval
 
 
-@pytest.mark.skipif(PY2, reason='Requires Python3')
 @pytest.mark.parametrize(
     ('filename', 'expected_retval'), (
         ('not_pretty_formatted_json.json', 1),
@@ -52,7 +50,7 @@
         ('tab_pretty_formatted_json.json', 0),
     ),
 )
-def test_tab_main(filename, expected_retval):  # pragma: no cover
+def test_tab_main(filename, expected_retval):
     ret = main(['--indent', '\t', get_resource_path(filename)])
     assert ret == expected_retval
 
@@ -113,9 +111,9 @@
     expected_retval = 1
     a = os.path.join('a', resource_path)
     b = os.path.join('b', resource_path)
-    expected_out = '''\
---- {}
-+++ {}
+    expected_out = f'''\
+--- {a}
++++ {b}
 @@ -1,6 +1,9 @@
  {{
 -    "foo":
@@ -130,7 +128,7 @@
 +  "blah": null,
 +  "foo": "bar"
  }}
-'''.format(a, b)
+'''
     actual_retval = main([resource_path])
     actual_out, actual_err = capsys.readouterr()
 
diff --git a/tests/readme_test.py b/tests/readme_test.py
index fd6d265..7df7fcf 100644
--- a/tests/readme_test.py
+++ b/tests/readme_test.py
@@ -1,15 +1,10 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import io
-
 from pre_commit_hooks.check_yaml import yaml
 
 
 def test_readme_contains_all_hooks():
-    with io.open('README.md', encoding='UTF-8') as f:
+    with open('README.md', encoding='UTF-8') as f:
         readme_contents = f.read()
-    with io.open('.pre-commit-hooks.yaml', encoding='UTF-8') as f:
+    with open('.pre-commit-hooks.yaml', encoding='UTF-8') as f:
         hooks = yaml.load(f)
     for hook in hooks:
-        assert '`{}`'.format(hook['id']) in readme_contents
+        assert f'`{hook["id"]}`' in readme_contents
diff --git a/tests/sort_simple_yaml_test.py b/tests/sort_simple_yaml_test.py
index 4261d5d..69ad388 100644
--- a/tests/sort_simple_yaml_test.py
+++ b/tests/sort_simple_yaml_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import os
 
 import pytest
diff --git a/tests/string_fixer_test.py b/tests/string_fixer_test.py
index 4adca4a..77a51cf 100644
--- a/tests/string_fixer_test.py
+++ b/tests/string_fixer_test.py
@@ -1,7 +1,3 @@
-from __future__ import absolute_import
-from __future__ import print_function
-from __future__ import unicode_literals
-
 import textwrap
 
 import pytest
diff --git a/tests/trailing_whitespace_fixer_test.py b/tests/trailing_whitespace_fixer_test.py
index 97f9aef..53177ac 100644
--- a/tests/trailing_whitespace_fixer_test.py
+++ b/tests/trailing_whitespace_fixer_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.trailing_whitespace_fixer import main
@@ -46,7 +43,7 @@
         '\t\n'  # trailing tabs are stripped anyway
         '\n  ',  # whitespace at the end of the file is removed
     )
-    ret = main((path.strpath, '--markdown-linebreak-ext={}'.format(ext)))
+    ret = main((path.strpath, f'--markdown-linebreak-ext={ext}'))
     assert ret == 1
     assert path.read() == (
         'foo  \n'
diff --git a/tests/util_test.py b/tests/util_test.py
index 9b2d723..b42ee6f 100644
--- a/tests/util_test.py
+++ b/tests/util_test.py
@@ -1,6 +1,3 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
 import pytest
 
 from pre_commit_hooks.util import CalledProcessError
