diff --git a/t/test.t b/t/test.t
new file mode 100644
index 0000000..5ee9c58
--- /dev/null
+++ b/t/test.t
@@ -0,0 +1,25 @@
+use strict;
+use warnings;
+use Test::More;
+use Test::Script;
+
+script_runs([ 'script/korapxml2conllu', '-h' ], { exit => 255 });
+script_stderr_like "Description", "Can print help message";
+
+for my $morpho_fname (glob("t/data/*\.*\.zip")) {
+    my $base_fname = $morpho_fname =~ s/(.*)\..*\.zip/$1.zip/r;
+    die "cannot find $base_fname" if (!-e $base_fname);
+
+    my $conllu_fname = $base_fname =~ s/(.*)\.zip/$1.conllu/r;
+    die "cannot find $conllu_fname" if (!-e $conllu_fname);
+
+    my $expected;
+    open(my $fh, '<', $conllu_fname) or die "cannot open file $conllu_fname"; {
+        local $/;
+        $expected = <$fh>;
+    }
+    close($fh);
+    script_runs([ 'script/korapxml2conllu', $morpho_fname ], "Runs with input");
+    script_stdout_is $expected, "Converts $morpho_fname correctly";
+}
+done_testing;
\ No newline at end of file
