Skip to content

Commit ced02c5

Browse files
committed
+tck #232 explain which tests are mendatory to be "compliant"
1 parent b33420a commit ced02c5

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

tck/README.md

+16
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,22 @@ public class SkippingIdentityProcessorTest extends IdentityProcessorVerification
479479
}
480480
```
481481

482+
## Which verifications must be implemented by an compliant implementation?
483+
In order to be considered an Reactive Streams compliant we require implementations to cover their
484+
Publishers and Subscribers with TCK verifications. Of course, if your library is only including
485+
Subscribers, you do not have to implement Publisher tests. The same applies to `IdentityProcessorVerification` -
486+
you do not need to implement it if your library does not contain Processors.
487+
488+
In the case of Subscriber Verification are two styles of verifications to available: Blackbox or Whitebox.
489+
We *strongly* recommend testing your `Subscriber` with the `SubscriberWhiteboxVerification` as it is able to
490+
verify most of the specification. The `SubscriberBlackboxVerification` should only be used as a fallback,
491+
once you are sure implementing the whitebox version will not be possible for your implementation - if that happens
492+
feel free to open a ticket on the `reactive-streams/reactive-streams-jvm` project explaining what stopped you from
493+
implementing the whitebox verification.
494+
495+
In summary: we require implementations to use Verifications for the parts of the specification that they implement,
496+
and suggest using the whitebox verification over blackbox for the subscriber whenever possible.
497+
482498
## Upgrade story
483499

484500
**TODO** - What is our story about updating the TCK? How do we make sure that implementations don't accidentally miss some change in the spec, if the TCK is unable to fail verify the new behavior? Comments are very welcome, discussion about this is under-way in [Issue #99 – TCK Upgrade Story](https://github.com/reactive-streams/reactive-streams/issues/99).

0 commit comments

Comments
 (0)