[jira] [Commented] (BEAM-298) Make TestPipeline implement the TestRule interface
[ https://issues.apache.org/jira/browse/BEAM-298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15862327#comment-15862327 ] Stas Levin commented on BEAM-298: - Could you please provide some more info regarding your scenario and how I can reproduce it? Are you running {{TestPipeline}} as part of a unit test or production code? > Make TestPipeline implement the TestRule interface > -- > > Key: BEAM-298 > URL: https://issues.apache.org/jira/browse/BEAM-298 > Project: Beam > Issue Type: Improvement > Components: sdk-java-core >Reporter: Thomas Groh >Assignee: Stas Levin >Priority: Minor > Fix For: 0.5.0 > > > https://github.com/junit-team/junit4/wiki/Rules > A JUnit Rule allows a test to use a field annotated with @Rule to wrap > executing tests. Doing so allows the TestPipeline to, at the time the test > completes, assert that all applied transforms have been executed. This > ensures that all unit tests that utilize a TestPipeline rule either are > declared to explicitly not expect to execute or have executed the pipeline. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (BEAM-298) Make TestPipeline implement the TestRule interface
[ https://issues.apache.org/jira/browse/BEAM-298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15862201#comment-15862201 ] Neville Li commented on BEAM-298: - That didn't work for me. I had to add it as a {compile} scope. > Make TestPipeline implement the TestRule interface > -- > > Key: BEAM-298 > URL: https://issues.apache.org/jira/browse/BEAM-298 > Project: Beam > Issue Type: Improvement > Components: sdk-java-core >Reporter: Thomas Groh >Assignee: Stas Levin >Priority: Minor > Fix For: 0.5.0 > > > https://github.com/junit-team/junit4/wiki/Rules > A JUnit Rule allows a test to use a field annotated with @Rule to wrap > executing tests. Doing so allows the TestPipeline to, at the time the test > completes, assert that all applied transforms have been executed. This > ensures that all unit tests that utilize a TestPipeline rule either are > declared to explicitly not expect to execute or have executed the pipeline. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (BEAM-298) Make TestPipeline implement the TestRule interface
[ https://issues.apache.org/jira/browse/BEAM-298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15861795#comment-15861795 ] Neville Li commented on BEAM-298: - As a result of this change I need to include {{junit}} in my dependencies or it'll fail with a class not found exception. Is this expected? {{ java.lang.NoClassDefFoundError: org/junit/rules/TestRule at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at com.spotify.scio.ContextAndArgs$.apply(ScioContext.scala:65) at com.spotify.scio.examples.MinimalWordCount$.main(MinimalWordCount.scala:35) at com.spotify.scio.examples.MinimalWordCount.main(MinimalWordCount.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sbt.Run.invokeMain(Run.scala:67) at sbt.Run.run0(Run.scala:61) at sbt.Run.sbt$Run$$execute$1(Run.scala:51) at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55) at sbt.Run$$anonfun$run$1.apply(Run.scala:55) at sbt.Run$$anonfun$run$1.apply(Run.scala:55) at sbt.Logger$$anon$4.apply(Logger.scala:84) at sbt.TrapExit$App.run(TrapExit.scala:248) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: org.junit.rules.TestRule at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) }} > Make TestPipeline implement the TestRule interface > -- > > Key: BEAM-298 > URL: https://issues.apache.org/jira/browse/BEAM-298 > Project: Beam > Issue Type: Improvement > Components: sdk-java-core >Reporter: Thomas Groh >Assignee: Stas Levin >Priority: Minor > Fix For: 0.5.0 > > > https://github.com/junit-team/junit4/wiki/Rules > A JUnit Rule allows a test to use a field annotated with @Rule to wrap > executing tests. Doing so allows the TestPipeline to, at the time the test > completes, assert that all applied transforms have been executed. This > ensures that all unit tests that utilize a TestPipeline rule either are > declared to explicitly not expect to execute or have executed the pipeline. -- This message was sent by Atlassian JIRA (v6.3.15#6346)