diff --git a/src/whitenoise/base.py b/src/whitenoise/base.py
index 9c3e1f93..45dcc1db 100644
--- a/src/whitenoise/base.py
+++ b/src/whitenoise/base.py
@@ -44,7 +44,7 @@ def __init__(
         mimetypes: dict[str, str] | None = None,
         add_headers_function: Callable[[Headers, str, str], None] | None = None,
         index_file: str | bool | None = None,
-        immutable_file_test: Callable | str | None = None,
+        immutable_file_test: Callable[[str, str], bool] | str | None = None,
     ):
         self.autorefresh = autorefresh
         self.max_age = max_age
diff --git a/src/whitenoise/middleware.py b/src/whitenoise/middleware.py
index 099fec65..0d5c6695 100644
--- a/src/whitenoise/middleware.py
+++ b/src/whitenoise/middleware.py
@@ -142,7 +142,7 @@ def serve(static_file, request):
             http_response[key] = value
         return http_response
 
-    def add_files_from_finders(self):
+    def add_files_from_finders(self) -> None:
         files = {}
         for finder in finders.get_finders():
             for path, storage in finder.list(None):
diff --git a/tests/test_storage.py b/tests/test_storage.py
index beeae9b6..d714c092 100644
--- a/tests/test_storage.py
+++ b/tests/test_storage.py
@@ -64,7 +64,7 @@ class TriggerException(HashedFilesMixin):
         def exists(self, path):
             return False
 
-    exception = None
+    exception: ValueError
     try:
         TriggerException().hashed_name("/missing/file.png")
     except ValueError as e: