cucumber-school / scripts Goto Github PK
View Code? Open in Web Editor NEWScripts for the BDD with Cucumber video series
Home Page: https://cucumber-school.github.io/scripts
License: Creative Commons Attribution 4.0 International
Scripts for the BDD with Cucumber video series
Home Page: https://cucumber-school.github.io/scripts
License: Creative Commons Attribution 4.0 International
hi i'm trying to dowlnload the lastest release but i can't.
If i use the link in the README file i got the following messege: 404: Not Found
i'm new here and i just wanna complete cucumber's course
The release cycle of Cucumber-Ruby, Cucumber-JVM and Cucumber-JS has been quite rapid lately, and we've added some functionality lately that we want Cucumber School users to be exposed to from the first lesson, even if the lesson doesn't cover it explicitly.
The functionality we want people to see as soon as they get started is a banner that gets printed at the end of a run, encouraging the Cucumber user to publish reports. More details here:
I'd like to be able to update the Cucumber versions in Cucumber School myself with a single command. Something like this:
cucumber-ruby: 5.0.0
cucumber-jvm: 6.5.1
And then simply run bundle exec rake
to make the required changes/commits.
Right now the build is a bit too complicated for me to figure out as I've mentioned in #17.
Is this something you could look into @iachettifederico?
Cheers,
Aslak
The chapter numbers here on github aren't in the course and the chapter names used in the course are not on the chapter numbers here , so only an expert could find there way to the content that needs changing.
After executing ./gradlew test --rerun-tasks --info under content/bdd-with-cucumber/04/code/java/15--step15-move-givens-into-background/shouty. I got this FAILED
Task :test FAILED
shouty.RunCucumberTest > initializationError FAILED
io.cucumber.core.gherkin.FeatureParserException: Failed to parse resource at: classpath:shouty/hear_shout.feature
at io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parseGherkin5(GherkinVintageFeatureParser.java:40)
at io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parse(GherkinVintageFeatureParser.java:58)
at io.cucumber.core.feature.FeatureParser.parseResource(FeatureParser.java:44)
at io.cucumber.core.runtime.FeaturePathFeatureSupplier.lambda$new$0(FeaturePathFeatureSupplier.java:39)
at java.util.function.BiFunction.lambda$andThen$0(BiFunction.java:70)
at io.cucumber.core.resource.ResourceScanner.lambda$processResource$2(ResourceScanner.java:126)
at io.cucumber.core.resource.PathScanner$ResourceFileVisitor.visitFile(PathScanner.java:67)
at io.cucumber.core.resource.PathScanner$ResourceFileVisitor.visitFile(PathScanner.java:52)
at java.nio.file.Files.walkFileTree(Files.java:2670)
at java.nio.file.Files.walkFileTree(Files.java:2742)
at io.cucumber.core.resource.PathScanner.findResourcesForPath(PathScanner.java:46)
at io.cucumber.core.resource.PathScanner.findResourcesForUri(PathScanner.java:26)
at io.cucumber.core.resource.ResourceScanner.findResourcesForUri(ResourceScanner.java:109)
at io.cucumber.core.resource.ResourceScanner.lambda$findResourcesForUris$1(ResourceScanner.java:98)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at io.cucumber.core.resource.ResourceScanner.findResourcesForUris(ResourceScanner.java:101)
at io.cucumber.core.resource.ResourceScanner.scanForClasspathResource(ResourceScanner.java:66)
at io.cucumber.core.resource.ResourceScanner.scanForResourcesUri(ResourceScanner.java:83)
at io.cucumber.core.runtime.FeaturePathFeatureSupplier.loadFeatures(FeaturePathFeatureSupplier.java:62)
at io.cucumber.core.runtime.FeaturePathFeatureSupplier.get(FeaturePathFeatureSupplier.java:46)
at io.cucumber.junit.Cucumber.<init>(Cucumber.java:156)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:78)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
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 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:118)
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 org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run(Thread.java:748)
Caused by:
io.cucumber.core.gherkin.vintage.internal.gherkin.ParserException$CompositeParserException: Parser errors:
(12:3): expected: #EOF, #TableRow, #DocStringSeparator, #StepLine, #TagLine, #ScenarioLine, #ScenarioOutlineLine, #Comment, #Empty, got 'Rule: Shouts can be heard by other users'
(22:3): expected: #EOF, #TableRow, #DocStringSeparator, #StepLine, #TagLine, #ScenarioLine, #ScenarioOutlineLine, #Comment, #Empty, got 'Rule: Shouts should only be heard if listener is within range'
at io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.parse(Parser.java:143)
at io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.parse(Parser.java:118)
at io.cucumber.core.gherkin.vintage.internal.gherkin.Parser.parse(Parser.java:114)
at io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parseGherkin5(GherkinVintageFeatureParser.java:29)
... 67 more
I think the problem is Background. Because the problem is all after adding this keyword. But in your tutorial video(https://school.cucumber.io/courses/take/bdd-with-cucumber-java/lessons/14723910-backgrounds) it work. It's very strange.
We could either craft these by hand, or we need to think about a way to store enough info in the asciidoc to be able to generate them.
Render the index.html
and check it into a gh-pages
branch
It is just an initial commit, not the failing premium feature.
@sebrose I've been thinking we could rename this to something like "Outside-in development: a worked example"
WDYT? Can you make it snappier?
When I start with the code from 00--step00-initial-commit/shouty and then follow along modifying my code as in the video for Chapter 4 -- Cleaning Up, Section 1 -- Description Field, IntelliJ IDEA gives the error message:
C:\Users\cowan\Documents\GradleTraining\Cucumber School\BDD - Java\shouty\src\test\java\shouty\NetworkTest.java:5:26
java: package org.mockito does not exist
I notice that there is no dependency for Mokito in the pom.xml for 00--step00-initial-commit/shouty.
The script for Chapter 2: "Your First Scenario", Section 3: "Install Cucumber", should be changed to refer to Gradle, not Ant. Both the video and the script currently refer to Ant, but Ant has apparently not been used in the Cucumber Java Skeleton since 2014 (v1.2.0.1).
Until the video is changed, we could change the text to say something like:
"The template project contains Maven and Gradle build
scripts (Ant build scripts in older versions) that make it easier to get started with Cucumber for Java."
This will help those who are hoping to use Cucumber with Gradle and also give those who want to use Ant a clue as to where to look. I consider changing the video a much lower priority than finishing the rest of the chapters for the course.
See https://github.com/cucumber-school/bdd-with-cucumber/runs/889664424?check_suite_focus=true#step:7:4
I also get this locally when I run bundle exec rake html
:
Generating ruby
asciidoctor: ERROR: scripts.ruby.adoc: line 101: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
asciidoctor: ERROR: scripts.ruby.adoc: line 101: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
Generating js
asciidoctor: ERROR: scripts.js.adoc: line 101: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
asciidoctor: ERROR: scripts.js.adoc: line 101: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
Generating java
asciidoctor: ERROR: scripts.java.adoc: line 99: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
asciidoctor: ERROR: scripts.java.adoc: line 99: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
Generating dotnet
asciidoctor: ERROR: scripts.dotnet.adoc: line 31: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
asciidoctor: ERROR: scripts.dotnet.adoc: line 31: include file not found: /Users/Aslak.Hellesoy/git/cucumber-school/bdd-with-cucumber/content/06/index.adoc
Generating content/languages.adoc
Generating main index page
I'm in the Your First Scenario - Install Cucumber Section. The link under the video is a real waste of the student's time -- I expected it to take me to the GitHub for the java-skeleton, but instead it links here, to the school's course construction site, which doesn't have the content that the note says.
Please remove that link from the course material.
When working on code branches and a script at the same time, it's easy to forget to push your local code branch.
We need a way to fail the build if the unrolled code on master is different to the code in the corresponding code branch, just as a safety mechanism, to prevent code branches here on GitHub being left out of date.
We need to modify the rake task that generates the index list of files to include. It needs to iterate twice:
We could use this script to build an index-files.adoc
for each chapter.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.