jeffnyman / lucid Goto Github PK
View Code? Open in Web Editor NEWTest Description Language Specification and Execution Engine
License: Other
Test Description Language Specification and Execution Engine
License: Other
If you run Lucid with the Symbiont project and Firefox is not available on the machine, you get this:
Could not find Firefox binary (os=windows).
Make sure Firefox is installed or set the path manually with
Selenium::WebDriver::Firefox::Binary.path= (Selenium::WebDriver::Error::WebDriverError)
And then a huge stack trace. Is it possible to capture that and not make it look so horrendously scary?
Should lucid-gen be able to refer to an external template that can be updated independently of the lucid gem? Right now if a project template needs to be updated it requires a full gem release. It feels like there should be a smarter way to do this.
If you run Lucid and there is no valid directory -- either by default or by specifying one -- you get an extra "No such file or directory" bit of text before the officially generated Lucid text. It would be nice to get rid of this extra message.
Right now the generator defaults to using the Symbiont gem, which is based on Watir and Selenium. Might be nice to work on a Capybara solution.
The idea behind using the --strict tag is that it supposed to return an error code if any steps are found to be pending or undefined. Currently that is not happening. There is a slightly different set of result output in these cases, but it seems to violate the whole idea of being "strict" -- which should mean errors on anything not capable of being used.
Currently, if no test definitions are provided, you will get the message "If you want matchers in a different programming language ..." which is something that Cucumber itself did away with. Lucid should probably do something similar for the reason that it is very difficult to support this reliably.
When you do a command like this:
lucid --tags @bad:1
You get a stack track type output like this:
@bad occurred 2 times, but the limit was set to 1
specs/triangle.spec:44
specs/triangle.spec:50 (Lucid::TagExcess)
Then there's a stack trace. That seems really, really ugly. It would be nice to give a more formatted message.
Since Lucid has a lot of command line options, it might be good to consider how to better provide a command suite set of tools. Or, at the very least, use a mechanism similar to what I use in lucid-gen, where I can allow people to get help on specific command line options.
This would be a fairly substantial change to the Options module and would require a good amount of testing.
If you have a lucid.yml file and the following is in it:
default: --spec-type feature features
and if you run that against a directory like this:
root
features
triangle.feature
you will find that the feature file is not read. Contrast that with simply running this command:
$ lucid --spec-type feature features
In that case, everything works. So it looks like the inclusion of this option in the profile is not being recognized.
If you run Lucid and there is no valid directory -- either by default or by specifying one -- you get an extra "No such file or directory" bit of text before the officially generated Lucid text. It would be nice to get rid of this extra message.
If someone has not run bundle update on the Gemfile or does not have Symbiont installed, an ugly stack trace is generated by Lucid. It would be nice to catch this and present a nicer message.
Currently when an invalid option is specified at the command line, the invalid option logic form optparse is called. But it looks horrible when it displays. The InvalidOption exception needs to be treated as part of a rescue clause.
Right now Lucid defaults to *.spec. It can be set to use *.feature. It would be nice to allow a set of spec types.
Currently the driver file is hard-coded as driver.rb. However, if someone wants to use a Cucumber-like structure, they will be using an env.rb file. It would be nice to allow users an option.
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.