nilswloka / lein-cucumber

A simple leiningen plugin for running clojure-based cucumber-jvm specifications.
The Unlicense
39 stars 26 forks source link

Consider changing the convention from ./test/features to ./features #1

Closed rplevy-draker closed 12 years ago

rplevy-draker commented 12 years ago

It seems to me that a better convention for cucumber features directory would be parallel to tests rather than in it.

My argument for this is that "tests" contains a hierarchy that corresponds to the namespace of modules defined in files, whereas features and definitions do not define namespaces. Having some file names not correspond to namespaces makes things more cluttered and confusing to visually parse when looking at a Clojure project.

I think that "features" is a quite different thing from "tests" despite the fact that these are tests. Putting the "features" directory name at the top level is also a precedent from the Ruby on Rails version of Cucumber, so that is a secondary argument in favor of this convention.

Let me know if you agree, and if so I will submit a pull request!

Thanks! Rob

nilswloka commented 12 years ago

While your suggestion sounds reasonable, the cucumber-jvm example project (https://github.com/cucumber/cucumber-jvm/tree/master/examples/clojure_cukes) uses ./test/features. I think the best solution would be to go for "features" as default and use project.clj for custom configuration (eg. :feature-path ["features" "src/test/features"]).

So go ahead and submit the pull request. I'll add a configuration option as soon as possible and release a new version.

Thanks,

Nils

rplevy-draker commented 12 years ago

Sounds good, I will do that! Just to be clear, you are saying make "test/features" default? Or do you mean make "features" default?

nilswloka commented 12 years ago

Let's make "features" the default.