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 2016/03/02 02:06:18 UTC

[jira] [Commented] (BEAM-85) DataflowAssert (BeamAssert ;) needs sanity check that it's used correctly

    [ https://issues.apache.org/jira/browse/BEAM-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15174750#comment-15174750 ] 

Ben Chambers commented on BEAM-85:
----------------------------------

One possibility would be to use an `@Rule` instead. for instance:

```java
@Rule public TestPipelineRule testPipeline;

...

Pipeline p = testPipeline.create
...
```

Then the `tearDown` from the rule can validate proper usage.

> DataflowAssert (BeamAssert ;) needs sanity check that it's used correctly
> -------------------------------------------------------------------------
>
>                 Key: BEAM-85
>                 URL: https://issues.apache.org/jira/browse/BEAM-85
>             Project: Beam
>          Issue Type: New Feature
>          Components: sdk-java-core
>            Reporter: Daniel Halperin
>            Assignee: Davor Bonaci
>
> It is important that assert is applied to pipeline before the pipeline is run, otherwise it does not actually execute the test.
> This code should throw an assertion error or fail in some other way.
> ```java
> {
> Pipeline p = TestPipeline.create();
> PCollection<Boolean> value = p.apply(Create.of(Boolean.FALSE));
> p.run();
> DataflowAssert.thatSingleton(value).isEqualTo(true);
> }
> ```
> but it would pass silently.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)