mgivney / easyb Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/easyb
Automatically exported from code.google.com/p/easyb
What steps will reproduce the problem?
1. Access http://www.easyb.org/repo/ from a browser
What is the expected output? What do you see instead?
I expect to see a listing of all of the directories immediately below this path
but instead receive an
access denied error. Directly accessing resources (i.e.
http://www.easyb.org/repo/org/easyb/easyb/0.7/easyb-0.7.pom) works fine however.
Original issue reported on code.google.com by rfciii
on 21 Feb 2008 at 2:10
What steps will reproduce the problem?
1. Run easyb with a story and a behavior and generate a story report
2. Look in the story report and you will see something like this:
21 behavior steps executed successfully
Story: empty stack
scenario null is pushed onto empty stack
given an empty stack
when null is pushed
then an exception should be thrown
then the stack should still be empty
scenario pop is called on empty stack
given an empty stack
when pop is called
then an exception should be thrown
then the stack should still be empty
Story: single value stack
scenario pop is called
given a stack containing an item
when peek is called
then it should provide the value of the most recent pushed value
then the stack should not be empty
then calling pop should also return the peeked value
then the stack should be empty
The problem here is that the behavior test was included in the step count
but not included in the generated story which is confusing.
What is the expected output? What do you see instead?
19 behavior steps executed successfully
Story: empty stack
scenario null is pushed onto empty stack
given an empty stack
when null is pushed
then an exception should be thrown
then the stack should still be empty
scenario pop is called on empty stack
given an empty stack
when pop is called
then an exception should be thrown
then the stack should still be empty
Story: single value stack
scenario pop is called
given a stack containing an item
when peek is called
then it should provide the value of the most recent pushed value
then the stack should not be empty
then calling pop should also return the peeked value
then the stack should be empty
Please use labels and text to provide additional information.
Original issue reported on code.google.com by rfciii
on 9 Feb 2008 at 6:00
When I have an easyb scenario that fails, the maven plugin reports that a
failure occurred but only the xml report includes the details of the failure.
The html report shows the scenario in red, but no other indication of what
went wrong. The txt report says that there was one failure, but doesn't
even say exactly which scenario failed. It would be really helpful to
include specific failure details in the text and html reports.
Original issue reported on code.google.com by [email protected]
on 22 Apr 2008 at 5:52
I wasn't satisfied with the reports provided by easyb (see#41), so I wrote
my own scenario runner in java (I'm a groovy newbie). One of the bumps I
ran into was that several of BehaviorStep's important fields (result, name,
description) are private and have no getters. After discovering
getMetaClass().getAttribute(), I was able to get around this with a few
lines of code, but these fields should have getters.
Original issue reported on code.google.com by [email protected]
on 23 Apr 2008 at 5:11
By convention the easyb Maven plugin will look for specs in the
'src/test/easyb' directory of your
project. It also assumes that story tests have the suffix 'Story' while
behaviors have the suffix
'Behavior'. This is customizable but while writing the documentation for
overriding this behavior I
discovered that I hadn't written tests for this. This issue is to write the
tests to verify this behavior
and then document how to customize these attributes in the easyb documentation.
Original issue reported on code.google.com by rfciii
on 18 Feb 2008 at 3:46
easyb reports steps for stories and scenarios (which may not be intuitive
for users)-- so if you define a given, then, and a when, easyb will say 5
(or 4?) steps executed successfully-- would we want to say 3? Do we care?
Thoughts?
Original issue reported on code.google.com by [email protected]
on 9 Feb 2008 at 5:03
in the common BDD flow,
1 - the story is written,
2 - then the story code is written, calling methods and classes that may
not exist yet.
3 - then the code needed for the story to pass is written
if you try to run the tests between the steps two and three easyb aborts
all tests, because of a NoMethodError or ClassNotFoundException.
but if the same safe block used for the then is used for given and when, it
works fine, just stores one more error.
I have attached a patch for it.
Original issue reported on code.google.com by [email protected]
on 24 Mar 2008 at 3:23
Attachments:
Ivy files point to discoblog.com-- all deps need to go to easyb.org
Original issue reported on code.google.com by [email protected]
on 15 Feb 2008 at 4:17
What steps will reproduce the problem?
1. Use easyb to create a story report
2. The top line in the report will read something like
"5 behavior steps executed successfully "
What is the expected output? What do you see instead?
"5 behavior steps executed successfully"
Original issue reported on code.google.com by rfciii
on 9 Feb 2008 at 4:52
Should be able to create a run configuration for easyb specs in IntelliJ and
launch them through the
run menu.
Original issue reported on code.google.com by rfciii
on 9 Mar 2008 at 6:23
Idea from Venkat also voiced by Alex and others
Cold run of stories. I just cooked up some stories say like this
scenario "whatever", {
given "something", {
}
when "something else", {
}
then "thenwhat", {
}
}
This is pure story not connected to implementation at this point. If I
run it, it will pass.
I like to get a message that it is pending (instead of pass). I don't
mind marking
pending tasks as such until implemented. This will allows me to get
stories list
(using txtstory) right away and then come back and implement later.
Or better still, BA can write this and someone else can link to system
later.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 6:43
Setup the maven plugin to support an automated release using Maven's
release plugin.
Original issue reported on code.google.com by rfciii
on 9 Feb 2008 at 2:47
To give easyb a try, I rewrote an existing junit test. One of the things I
like about junit is how it provides helpful details when a string
comparison fails:
org.junit.ComparisonFailure: expected:<prefix single[ ]suffix> but
was:<prefix single[]suffix>
Here's the easyb VerificationException:
expected prefix single suffix but was prefix singlesuffix
Not quite as nice. I tried getting the expected and actual fields out of
the VerificationException to compare in my own way, but these fields are null.
Original issue reported on code.google.com by [email protected]
on 23 Apr 2008 at 4:44
Hi,
I wanted to be able to describe one story or behavior (where the name of
the file was not enough )
So I wrote it
I needed to compile easyb with groovy 1.5.5, and it was not working because
of a change in the groovyc task, I fixed it too.
the patch attached was created with GIT (I use GIT for version control)
I have cloned your repository in this public git repository:
http://github.com/urubatan/easyb/tree
if you can not use the attached patch, let me know, I'll try to create it
with a different tool.
usually git-svn takes care of the git/svn integration for me, but for it
work only if I have commit access to the repository :D
PS.: thanks for the great piece of software.
Original issue reported on code.google.com by [email protected]
on 18 Mar 2008 at 8:04
Attachments:
When an error occurs within the forked easyb process then this triggers the
following message
within the intellij plugin:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:
Instead a better error message should be marshalled between the processes and
displayed in the
plugin.
Original issue reported on code.google.com by rfciii
on 9 May 2008 at 4:28
Venkat:
Give one blank line before scenarios in txtstory output
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 6:44
I have a scenario which fails. When I use the maven plugin to execute the
test goal, it doesn't handle the failure well (see below).
I'm using maven-easyb-plugin 0.8, easyb 0.8, groovy-all-minimal 1.5.5 on
Windows XP.
[INFO] [easyb:test {execution: default}]
[java] Running text convert story (TextConvertStory.groovy)
[java] FAILURE Scenarios run: 3, Failures: 1, Pending: 1, Time
Elapsed: 0.516 sec
[java] 3 total behaviors run with 1 failure
[java] Java Result: -6
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] No signature of method: org.easyb.maven.EasybExecutor.fail() is
applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl)
values: {1 behaviors failed}
[INFO] ------------------------------------------------------------------------
[INFO] Trace
groovy.lang.MissingMethodException: No signature of method:
org.easyb.maven.EasybExecutor.fail() is applicable for argument types:
(org.codehaus.groovy.runtime.GStringImpl) values: {1 behaviors failed}
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.j
ava:54)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.j
ava:59)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAd
apter.java:169)
at org.easyb.maven.EasybExecutor.invokeMethod(EasybExecutor.groovy)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptB
ytecodeAdapter.java:82)
at org.easyb.maven.EasybExecutor.execute(EasybExecutor.groovy:46)
at org.easyb.maven.EasybMojo.execute(EasybMojo.java:88)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.ja
va:447)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycl
eExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(Def
aultLifecycleExecutor.java:480)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycle
Executor.java:459)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultL
ifecycleExecutor.java:278)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExec
utor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Original issue reported on code.google.com by [email protected]
on 22 Apr 2008 at 2:08
I'd like to see negative collection assertions in easyb:
cachedResult.shouldNotHave("CachedQATest2")
...or...
ensure (cachedResult) {
doesNotContain("CachedQATest2")
}
My current solution is:
ensure (!cachedResult.contains("CachedQATest2"))
...which is fine, but I'd like to have the syntactic sugar :-)
Original issue reported on code.google.com by [email protected]
on 21 Mar 2008 at 4:30
Add an option to the plugin allowing passing behaviors to be hidden in order to
reduce clutter
Original issue reported on code.google.com by rfciii
on 11 May 2008 at 12:48
The maven plugin should have better tests around it. Specifically, tests
should be created for:
- Basic story usage
- Basic behavior usage
- Story printing (text and xml as applicable)
- Behavior printing (text and xml as applicable)
- Database backed stories
Original issue reported on code.google.com by rfciii
on 9 Feb 2008 at 2:46
What steps will reproduce the problem?
1. Install the easyb plugin for intellij
2. Create a story file ending in the .story extension
What is the expected output? What do you see instead? Moving the *.story (and
*.specification)
associations to groovy scripts in intellij is a workaround to this.
I would expect the file to be associated with easyb but instead becomes
invisible.
Original issue reported on code.google.com by rfciii
on 17 Apr 2008 at 12:45
This spec doesn't fail but it doesn't:
it "should fail if an exception is not thrown", {
ensureThrows(Exception.class) {
// If we don't throw an exception the spec should fail
}
}
Original issue reported on code.google.com by rfciii
on 29 Feb 2008 at 2:56
Currently running a specification in intellij simply prints the runner's output
to the console view.
Instead, present the results more graphically in an easyb view.
Original issue reported on code.google.com by rfciii
on 6 Apr 2008 at 1:44
What steps will reproduce the problem?
1. Create a simple specification file
2. Run it with the intellij plugin
What is the expected output? What do you see instead?
The specification should run and produce the correct output. Instead the easyb
tree view
collapses, the output tab prints the following error:
Remote runner
Port: 2032
Running sample specification (Sample.specification)
java.net.SocketException: Software caused connection abort: socket write error
And the following error is logged in intellij:
-1
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(ArrayList.java:324)
at org.easyb.plugin.ui.swing.EasybTreeNodeStack.peek(EasybTreeNodeStack.java:15)
at org.easyb.plugin.ui.EasybPresenter.startStep(EasybPresenter.java:33)
Please use labels and text to provide additional information.
Original issue reported on code.google.com by rfciii
on 9 May 2008 at 4:25
What steps will reproduce the problem?
1. fail a scenario
What is the expected output?
screen report should show the true number of scenarios failed.
What do you see instead?
its showing the number of scenarios plus the 'then' failures
Original issue reported on code.google.com by [email protected]
on 23 Mar 2008 at 1:30
new version of DbUnit is out-- 2.2.2
Original issue reported on code.google.com by [email protected]
on 5 May 2008 at 11:31
On failure of a shouldBe or ensure, don't show stack trace - I see
no value in the stack trace
shown now. Instead show line number in story file or behavior file
where the message is.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 6:43
The maven plugin needs to be accompanied by documentation describing its
use. It would be nice to produce both a Maven site and to integrate basic
usage instructions into the easyb project documentation.
Original issue reported on code.google.com by rfciii
on 9 Feb 2008 at 2:40
Right now code being tested by easyb specifications needs to be triggered to be
compiled by the
user when running the spec. Instead running the spec should (optionally?)
trigger the project to be
made first.
Original issue reported on code.google.com by rfciii
on 6 Apr 2008 at 1:42
Right now if the intellij easyb plugin is used to run a specification on a
project which doesn't have
easyb and its dependencies setup then a class not found exception is thrown.
This should be
handled better, preferably by offering to add easyb to the project's dependency
list.
Original issue reported on code.google.com by rfciii
on 6 Apr 2008 at 1:41
It would be nice to be able to run multiple behaviors, an entire package, or
all the behaviors from a
project at once with the intellij plugin.
Original issue reported on code.google.com by rfciii
on 11 May 2008 at 12:50
Create a Maven project object model (pom) file for the easyb library. This
will make it easier for Maven users to use easyb.
Original issue reported on code.google.com by rfciii
on 9 Feb 2008 at 2:48
What steps will reproduce the problem?
1. Use configuration on website suggested for version 0.8
2. run `mvn easyb:storyReport`
3.
What is the expected output? What do you see instead?
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Unable to read easyb report
Embedded error: /Users/bweber/IdeaProjects/easyb/target/easyb/report.xml
(No such file or directory)
What version of the product are you using? On what operating system?
0.8 on mac os x
Please provide any additional information below.
Here is the line from my pom file (from doc on website):
<xmlReport>${project.build.directory}/easyb-report.xml</xmlReport>
Here is the modified line that works:
<xmlReport>${project.build.directory}/easyb/report.xml</xmlReport>
The maven plugin should read the value for where to generate the report
from the pom, not be hard coded. Changing the value is an acceptable work
around for the time being.
Original issue reported on code.google.com by [email protected]
on 29 Apr 2008 at 3:19
The 'easyb syntax specification' is an awesome tool for learning what
constructs are supported by
easyb. It seems that easyb actually supports several constructs (such as fail
and ensureThrows) that
aren't documented in the spec. It would be great to update the spec to reflect
the full capabilities
of easyb.
Original issue reported on code.google.com by rfciii
on 29 Feb 2008 at 3:10
What steps will reproduce the problem?
1. Pass an invalid argument to easyb
2.
3.
What is the expected output? What do you see instead?
I expected to see a helpful error message providing a list of valid options.
But instead I received this output:
There was an error running the script
org.apache.commons.cli.UnrecognizedOptionException: Unrecognized option:
--xmlbehavir
at org.apache.commons.cli.Parser.processOption(Parser.java:379)
at org.apache.commons.cli.Parser.parse(Parser.java:193)
at org.apache.commons.cli.Parser.parse(Parser.java:71)
at
org.disco.easyb.SpecificationRunner.getCommandLineForMain(SpecificationRunner.ja
va:201)
at org.disco.easyb.SpecificationRunner.main(SpecificationRunner.java:112)
Please use labels and text to provide additional information.
Original issue reported on code.google.com by rfciii
on 7 Feb 2008 at 1:42
Currently the maven easyb plugin runs the tests in a forked JVM. It would be
nice to optionally not
fork the JVM.
Original issue reported on code.google.com by rfciii
on 20 Feb 2008 at 12:24
JBehave has a plug-in for eclipse that allows a keyboard short cut to run a
behavior-- we should offer the same thing.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 9:51
By convention the easyb Maven plugin will look for specs in the
'src/test/easyb' directory of your
project. It also assumes that story tests have the suffix 'Story' while
behaviors have the suffix
'Behavior'. This is customizable but while writing the documentation for
overriding this behavior I
discovered that I hadn't written tests for this. This issue is to write the
tests to verify this behavior
and then document how to customize these attributes in the easyb documentation.
Original issue reported on code.google.com by rfciii
on 18 Feb 2008 at 3:46
Venkat:
message says "run successfully" must say "ran successfully" (sorry
I am being picky)
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 6:44
remove references to xmlbehavior, add references to easybxml
Original issue reported on code.google.com by [email protected]
on 13 Mar 2008 at 4:53
Maven users are accustomed to being able to access their dependencies via the
central maven
repository and its mirrors. It's a good thing that easyb is available now
through the easyb.org
repository, but we should consider additionally syncing easyb to maven central
so its 'easier' for
maven users.
See this guide for more info on what's involved:
http://maven.apache.org/guides/mini/guide-central-repository-upload.html
Original issue reported on code.google.com by rfciii
on 18 Feb 2008 at 2:57
What steps will reproduce the problem?
1. Create an intellij project that includes an older version of easyb then
packaged in the plugin
2. Run a story via the easyb intellij plugin
What is the expected output? What do you see instead?
Story should run fine, instead get this error:
Caused by: java.io.InvalidClassException: org.disco.easyb.BehaviorStep; local
class incompatible:
stream classdesc serialVersionUID = -5851588926335364547, local class
serialVersionUID =
7803104390655420064
Please use labels and text to provide additional information.
Original issue reported on code.google.com by rfciii
on 24 Apr 2008 at 8:31
Is there a possibility to debug variables in a behavior story via
print/println. For me it didn't print anything and changes the number
of behaviour steps to a strange number (like -39) in the output
console.
[easyb] -39 behavior steps run successfully.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 6:45
"I am not happy with file name being groovy. It is DSL, so it must
be treated as such.
I like to name, for example, blahStory.groovy as blah.story. Similarly
for Behavior,
I like to call it blah.behavior."
Feed back from Venkat Subramaniam
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 6:42
Hi,
I was trying to set up a scenario that checks for a negative number
using a shouldBeEqualTo and isEqualTo expression. The behaviour I want
to test is adding to integers in a class named Calculator. This is my
scenario:
scenario "add two negative numbers in calculator", {
given "a new calculator",{
calculator = new Calculator()
}
when "two valid values are inserted", {
result = calculator.add(-1, -2)
}
then "the result should be a negative number", {
ensure(result) {
isEqualTo(-3)
}
}
}
Using the expression isEqualTo(-3) works perfectly fine. However,
using result.shouldBeEqualTo -3 instead results in this exception:
[easyb] groovy.lang.MissingPropertyException: No such property:
shouldBeEqualTo for class: java.lang.Integer
Using this expression
ensure(result) {
isEqualTo-3
}
results in this exception
[easyb] java.lang.NullPointerException: Cannot invoke method
getAt() on null object
Didn't I used the expression correctly? I hope you can shed some light
on this.
Thanks,
Ben
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 6:47
Rather than catching RuntimeException, I tried catching a more
specific exception:
when "null is pushed", {
pushnull = {
stack.push(null)
}
}
then "an exception should be thrown", {
ensureThrows(IllegalArgumentException.class){
pushnull()
}
}
The stack push method looks like this:
public void push(E item) {
if (item == null) {
throw new IllegalArgumentException("Bad!");
}
}
The result:
Checking Class: class java.lang.IllegalArgumentException
Exception Class:
org.codehaus.groovy.runtime.InvokerInvocationException:
java.lang.IllegalArgumentException: Bad!
Is assignable? false
11 behavior steps run , but status is failure! Total failures: 1
Failure -> then an exception should be thrown in
EmptyStackStory.groovy
VerificationException: the exception caught wasn't of type class
java.lang.IllegalArgumentException:
The InvokerInvocationException wraps and thereby obscures the original
exception.
******
See the forums for the message related to this issue
Original issue reported on code.google.com by [email protected]
on 20 Feb 2008 at 8:19
getCause can return null--- good idea to verify it. See issue 14 for more
information.
Original issue reported on code.google.com by [email protected]
on 21 Feb 2008 at 7:32
apparently there is an ant tag that facilitates uploading binaries to
google code projects. Let's add it to easyb and any gant-type plug-in
projects.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 9:52
Create a junit runner that executes stories-- that way users can leverage
existing infrastructure for running stories and reporting on them.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2008 at 9:50
looks to be an issue with jointcompiler under groovy > 1.5.1
move to 1.5.4 and make changes to allow easyb to compile.
suggestion made my Chris Mayes on easyb-users said this:
- Ant.groovyc(destdir:destination, jointCompilationOptions:"-j
-Jsource=1.5 -Jtarget=1.5"){
+ Ant.groovyc(destdir:destination){
+ javac(source:"1.5", target:"1.5", debug:"on")
Original issue reported on code.google.com by [email protected]
on 23 Mar 2008 at 4:40
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.