-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Background
Kaocha allows tests to be marked with a pending tag. This allows tests to be filtered when running tests using Kaocha but still have the data reported in the output. This is useful for building a suite of tests for a pending, yet-to-be-implemented feature. The following is an example of a simple test marked with this tag:
(ns sample.project.sample-test
(:require [clojure.test :refer [deftest is]]))
(deftest ^:kaocha/pending pending-test
(is (= 1 1)
"This should be marked as 'skipped' by JUnit!"))I am working in a Polylith codebase using polylith-kaocha as the test runner Running tests yield the following output:
1 test, 0 assertions, 1 pending, 0 failures.
PENDING sample.project.pending-test (:)
We've configured our polylith-kaocha tests to generate JUnit XML test results using this plugin in our Kaocha config. This is being generated however we're hitting a snag because the pending tests aren't actually running (as expected), but in the JUnit XML test results they look like they are running and passing:
- Run the sample-test suite
clj -M:poly test - Open the generated JUnit XML test report:
<?xml version='1.0' encoding='UTF-8'?>
<testsuites>
<testsuite errors="0" package="" tests="1" name="sample-test" time="0.545124" hostname="localhost" id="0" timestamp="2025-11-11T10:51:50" failures="0">
<properties/>
<testcase name="sample.project.sample-test/pending-test" classname="sample.project.sample-test" time="0.000000" line="4" column="1" file="/sample/project/sample_test.clj">
</testcase>
<system-out/>
<system-err/>
</testsuites>- Note the
pending-testresult in the JUnit XML test report is missing the<skipped />element that would usually be nested within<testcase>element to indicate that the test has been skipped.
Desired behaviour
- Run the sample-test suite
clj -M:poly test - Open the generated JUnit XML test report:
<?xml version='1.0' encoding='UTF-8'?>
<testsuites>
<testsuite errors="0" package="" tests="1" name="sample-test" time="0.545124" hostname="localhost" id="0" timestamp="2025-11-11T10:51:50" failures="0">
<properties/>
<testcase name="sample.project.sample-test/pending-test" classname="sample.project.sample-test" time="0.000000" line="4" column="1" file="/sample/project/sample_test.clj">
<skipped/>
</testcase>
<system-out/>
<system-err/>
</testsuites>- Observe the test result for
sample-testis correctly tagged asskipped
Please let me know if I can provide any more detail, as this is my first time raising an issue on GitHub. Thanks in advance for any help you can provide!