You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Ben Chambers (JIRA)" <ji...@apache.org> on 2017/11/08 17:48:00 UTC

[jira] [Created] (BEAM-3159) DoFnTester should be deprecated in favor of TestPipeline

Ben Chambers created BEAM-3159:
----------------------------------

             Summary: DoFnTester should be deprecated in favor of TestPipeline
                 Key: BEAM-3159
                 URL: https://issues.apache.org/jira/browse/BEAM-3159
             Project: Beam
          Issue Type: Bug
          Components: sdk-java-core
            Reporter: Ben Chambers
            Assignee: Kenneth Knowles
            Priority: Minor


Reasons:

1. The logical unit within a Beam pipeline is a transform. Either a small transform like a ParDo or a larger composite transform. Unit tests should focus on these units, rather than probing specific behaviors of the user-defined functions.

2. The way that a runner interacts with a user-defined function is not necessarily obvious. DoFnTester allows testing non-sensical cases that wouldn't arise in practice, since it allows low-level interactions with the actual UDFs.

Instead, we should encourage the use of TestPipeline with the direct runner. This allows testing a single transform (such as a ParDo running a UDF) in context. It also makes it easier to test things like side-inputs and multiple outputs, since you use the same techniques in the test as you would in a real pipeline, rather than requiring a whole new API.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)