diff --git a/lbmpy_tests/test_boundary_handling.py b/lbmpy_tests/test_boundary_handling.py
index cc88ffa696c0c881321ee6a0d373365b70c87592..7142f97fdeb690e8f6f3511bd2f88559d79e2705 100644
--- a/lbmpy_tests/test_boundary_handling.py
+++ b/lbmpy_tests/test_boundary_handling.py
@@ -1,5 +1,4 @@
 import numpy as np
-
 import pytest
 
 from lbmpy.boundaries import UBB, NeumannByCopy, NoSlip, StreamInConstant
@@ -10,15 +9,24 @@ from lbmpy.lbstep import LatticeBoltzmannStep
 from pystencils import create_data_handling, make_slice
 
 
-@pytest.mark.parametrize("gpu", [True, False])
-def test_simple(gpu):
-    import pytest
-    pytest.importorskip('pycuda')
-    dh = create_data_handling((10, 5), parallel=False)
-    dh.add_array('pdfs', values_per_cell=9, cpu=True, gpu=gpu)
-    lb_func = create_lb_function(stencil='D2Q9', compressible=False, relaxation_rate=1.8)
-
-    bh = LatticeBoltzmannBoundaryHandling(lb_func.method, dh, 'pdfs')
+@pytest.mark.parametrize("target", ['cpu', 'gpu', 'opencl'])
+def test_simple(target):
+    if target == 'gpu':
+        import pytest
+        pytest.importorskip('pycuda')
+    elif target == 'opencl':
+        import pytest
+        pytest.importorskip('pyopencl')
+        import pystencils.opencl.autoinit
+
+    dh = create_data_handling((10, 5), parallel=False, default_target=target)
+    dh.add_array('pdfs', values_per_cell=9, cpu=True, gpu=target!='cpu')
+    lb_func = create_lb_function(stencil='D2Q9',
+                                 compressible=False,
+                                 relaxation_rate=1.8,
+                                 optimization={'target': target})
+
+    bh = LatticeBoltzmannBoundaryHandling(lb_func.method, dh, 'pdfs', target=target)
 
     wall = NoSlip()
     moving_wall = UBB((0.001, 0))