diff --git a/scripts/test b/scripts/test
index 9b6069a6eb2f0ad7187e961f14dd5144352444ae..5ed56ae46ea30267cf024104e78ec7c1ef0c51f9 100755
--- a/scripts/test
+++ b/scripts/test
@@ -22,6 +22,9 @@ if (!process.env['WHAT_TESTS']) {
 if (whatTests[0] == 'all') whatTests = [ 'back_mysql', 'back', 'front' ];
 
 var ec = 0;
+var frontend_test_filter = process.env['FRONTEND_TEST_FILTER'] ?
+                           ' (filter: ' + process.env['FRONTEND_TEST_FILTER'] + ')' :
+                           '';
 function run() {
   if (!whatTests.length) process.exit(ec);
 
@@ -29,7 +32,7 @@ function run() {
 
   const availConf = {
     front: {
-      what: "Front end unit tests under PhantomJS",
+      what: "Front end unit tests under PhantomJS" + frontend_test_filter,
       node_env: 'test_json',
       script: 'test_frontend'
     },
diff --git a/scripts/test_frontend b/scripts/test_frontend
index 879af173a0d8caf7d0cf3a4c37df6f9fc311b893..19f2c66a133f80b8185c73105bc8e80bb56175c5 100755
--- a/scripts/test_frontend
+++ b/scripts/test_frontend
@@ -35,8 +35,10 @@ start_stop.addStartupBatches(suite);
 suite.addBatch({
   "frontend unit tests": {
     topic: function() {
+      var filter = process.env['FRONTEND_TEST_FILTER'] ?
+                   '?filter=' + process.env['FRONTEND_TEST_FILTER'] : '';
       var kid = spawn('phantomjs', [ path.join(__dirname, 'phantomrunner.js'),
-                                     'http://127.0.0.1:10002/test' ]);
+                                     'http://127.0.0.1:10002/test/'+filter ]);
       kid.stdout.on('data', function(d) { process.stdout.write(d); });
       kid.stderr.on('data', function(d) { process.stderr.write(d); });
       kid.on('exit', this.callback);