Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Cucumber JSON Documentation Builder #413

Merged
merged 13 commits into from
Jan 25, 2017

Conversation

dgrekov
Copy link

@dgrekov dgrekov commented Jan 20, 2017

Will throw my hat in the ring as well. I took the two previously opened and abandoned pull requests and cleaned them up as well as brought them up to the new solution layout.

All Files are committed, all tests pass.

@dirkrombauts
Copy link
Member

Thank you for your contribution! I will add some review comments to individual lines.

Copy link
Member

@dirkrombauts dirkrombauts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again: thanks for your contribution. In order to keep quality and maintainability high, I requested some changes.

@@ -0,0 +1,36 @@
using System.Reflection;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use a minimal AssemblyInfo.cs similar to the other projects, and link the VersionInfo.cs file to the project.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -35,15 +35,15 @@ public Feature()

public string Description { get; set; }

public List<IFeatureElement> FeatureElements { get; }
public List<IFeatureElement> FeatureElements { get; private set; }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The private setter is not needed. Please remove it again.


public List<Comment> Comments { get; }
public List<Comment> Comments { get; private set; }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The private setter is not needed. Please remove it again.


public Scenario Background { get; private set; }

public TestResult Result { get; set; }

public List<string> Tags { get; }
public List<string> Tags { get; private set; }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The private setter is not needed. Please remove it again.

@@ -1,5 +1,5 @@
$version = $args[0]
$formats = @("Html", "Dhtml", "Word", "Excel", "JSON")
$formats = @("Html", "Dhtml", "Word", "Excel", "JSON", "Cucumber")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add Cucumber to testRunnerCmd.cmd and testRunnerMsBuild.cmd as well.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adjusted testRunnerCmd.cmd but did not find where in testRunnerMsBuild.cmd to make the change.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, my mistake - the output formats are defined in testOutput.proj, not in testRunnersMsBuild.cmd. Could you make the change there please?

@dgrekov
Copy link
Author

dgrekov commented Jan 21, 2017

Changes made as requested, glad to be of help. Let me know if anything else should be adjusted.

@dirkrombauts
Copy link
Member

Thanks again for your contribution!

@dirkrombauts
Copy link
Member

Would you be willing (and have time) to adapt the documentation of Pickles too? It's in the docs repository.

@dgrekov
Copy link
Author

dgrekov commented Jan 23, 2017

Sure, let me see if I have some time tonight.

@dgrekov
Copy link
Author

dgrekov commented Jan 24, 2017

Done. Please review

@dirkrombauts
Copy link
Member

Thanks!

@dirkrombauts dirkrombauts merged commit 5769fa5 into picklesdoc:develop Jan 25, 2017
@dirkrombauts
Copy link
Member

Ah, apparently approving the reviews does not automatically merge the pull request :-) I merged it now.

dirkrombauts added a commit that referenced this pull request Jan 26, 2017
* Fixes hiding topnav when printing. (#411)

* Adding Cucumber JSON Documentation Builder (#413)

* Adding Cucumber JSON as possible export format

* Version

* fixing the tests

* Fixing unit tests

* Separated Cucumber Documentation as separate project

* Fixing Build Pipeline

* Adding missed build dependency steps

* resolved the namespace issues that was preventing the build from completing successfully

* Addressing code review comments

* adding cucumber output format

* Release 2.12.0 (#416)

* Adding entries to change log

* Bump version (2.12.0)

* Version 2.12.0
@dirkrombauts
Copy link
Member

Released in version 2.12.0.

@bitcoder
Copy link

bitcoder commented Feb 7, 2017

Can you please clarify how would you setup SpecFlow to integrate with Pickles, so pickles would output a cucumber json file?
How should the specflow project be configured? Would we have to make specflow output in Nunit XML and then use Pickles to take that XML as input, in order to convert to Cucumber JSON format?

@dgrekov
Copy link
Author

dgrekov commented Feb 7, 2017

That's basically it, let me set up a PoC and write back into this chat.

@bitcoder
Copy link

bitcoder commented Feb 7, 2017

@dgrekov great, it would be great to have if you can share a working PoC :)

@dirkrombauts
Copy link
Member

@dgrekov I think I may have found a problem with the Cucumber JSON output: it seems that for scenario outlines, there is no information about the individual examples. Are you experiencing that as well? Am I missing something?

@bitcoder
Copy link

@dgrekov were you able to set up the PoC? The online documentation is not very clear on having a full end-to-end example. I can provide you a sample .feature file and the c# class that implements the class under test.
Will that help?
The idea was having a project in Visual Studio or Visual Code, or in other words made with .Net, using SpecFlow and where the output is Cucumber JSON file in the end.

@dgrekov
Copy link
Author

dgrekov commented Feb 23, 2017

@bitcoder, sorry for the delay, got a little behind at work. Will try for something soon.

@dgrekov
Copy link
Author

dgrekov commented Feb 23, 2017

@dirkrombauts let me look into that.

@bitcoder
Copy link

bitcoder commented Mar 6, 2017

Hi @dgrekov, were you able to make a working PoC?

@dgrekov
Copy link
Author

dgrekov commented Mar 6, 2017

Sorry guys, did not mean to leave you hanging, had a hard sprint wrapping up today. Will work to get a PoC up for you in a few hours.

@dgrekov
Copy link
Author

dgrekov commented Mar 7, 2017

Got my PoC working but all of my results are coming back as inconclusive, need to look into the test harness as to see why. This will be a little bit longer.

@bitcoder, you don't need the DLL to make this work. The only thing that is needed is the Feature file directory and the nunit XML result. I will post an example to a repo tomorrow.

@bitcoder
Copy link

bitcoder commented Mar 8, 2017

ok @dgrekov, I look forward to see the example :)

@dgrekov
Copy link
Author

dgrekov commented Mar 9, 2017

Ok, I found the issue. The standard NUnit (and xUnit) report does not produce step level data, what we need is to tweak the output to include that, I think I have an approach, testing it out and will update you soon.

@bitcoder
Copy link

bitcoder commented Apr 6, 2017

Hi @dgrekov , any news about this? Were you able to achieve a working solution?
thanks

@bitcoder
Copy link

Hi, were you able to solve this or make a PoC with this?

@dgrekov
Copy link
Author

dgrekov commented Jul 20, 2017

Apologies, I have been pulled into a different effort and was not able to make much progress on this. The changes needed to take advantage of actual test results was very involved and I do not think I will have time in the near future to finish it. Will post back here if I am able to contribute more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants