diff --git a/fluidsim/util/testing.py b/fluidsim/util/testing.py
index da3dc04d0235f36f6b5653a5ed7c4bd05d1a9121_Zmx1aWRzaW0vdXRpbC90ZXN0aW5nLnB5..19b7531f78b8763e976035e7f3b612283996e17d_Zmx1aWRzaW0vdXRpbC90ZXN0aW5nLnB5 100644
--- a/fluidsim/util/testing.py
+++ b/fluidsim/util/testing.py
@@ -14,6 +14,7 @@
 import unittest
 import argparse
 import time
+from warnings import warn
 
 import matplotlib
 from importlib import import_module
@@ -101,6 +102,22 @@
     return result
 
 
+def import_test_module(module_name:str):
+    """Smarter import handling common mistakes with warnings."""
+    if not module_name.startswith("fluidsim"):
+        warn(f"Assuming you forgot to add fluidsim in front of module name: {module_name}")
+        module_name = ".".join(("fluidsim", module_name))
+
+    try:
+        module = import_module(module_name)
+    except ModuleNotFoundError:
+        module_name = ".".join(module_name.split(".")[:-1])
+        warn(f"Module not found. Attempting {module_name} instead")
+        module = import_module(module_name)
+    finally:
+        return module
+
+
 def discover_tests(module_name="fluidsim", start_dir=None, verbose=False):
     """Discovers all tests under a module or directory.
     Similar to `python -m unittest discover`.
@@ -122,7 +139,7 @@
 
     """
     if start_dir is None:
-        module = import_module(module_name)
+        module = import_test_module(module_name)
         path_src = inspect.getfile(module)
         start_dir = os.path.dirname(path_src)
 
@@ -152,7 +169,7 @@
     suite = unittest.TestSuite()
     for module in modules:
         module = module.replace(os.path.sep, ".")
-        module = import_module(module)
+        module = import_test_module(module)
         tests = unittest.defaultTestLoader.loadTestsFromModule(module)
         suite.addTests(tests)