[
https://issues.apache.org/jira/browse/FLINK-22876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arvid Heise closed FLINK-22876.
-------------------------------
Resolution: Fixed
> Adding SharedObjects junit rule to ease test development
> --------------------------------------------------------
>
> Key: FLINK-22876
> URL: https://issues.apache.org/jira/browse/FLINK-22876
> Project: Flink
> Issue Type: Improvement
> Components: Test Infrastructure
> Affects Versions: 1.14.0
> Reporter: Arvid Heise
> Assignee: Arvid Heise
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.14.0
>
>
> Most test rely on static variables to sync between test code and UDFs to
> avoid serialization issues. However, static variables are error-prone and the
> tests look quaint.
> SharedObjects allow test developers to forget about the serialization and
> just use the objects across thread boundaries.
> The main idea is that shared objects are bound to the scope of a test case
> instead of a class. That allows us to:
> * get rid of all nasty reset methods for reused parts and most importantly
> avoid test bugs that result in us forgetting to reset (think of a latch in a
> shared WaitingSink)
> * it’s easier to reason about the test setup
> * it will allow us to share more code and provide more primitives (e.g. have
> some canonical way to wait for certain events)
> * run tests in parallel that reuse classes depending on shared objects
> * it will also be significantly easier to write tests for contributors.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)