linemanjs / lineman

Lineman helps you build fat-client JavaScript apps. It produces happiness by building assets, mocking servers, running specs on every file change
MIT License
1.18k stars 82 forks source link

Need help naming a plugin for browser testing #207

Closed searls closed 10 years ago

searls commented 10 years ago

I'm working on a lineman plugin that's intended to be our "blessed" approach to browser testing in a lineman project. It will use grunt-jasmine-bundle, webdriver-sync, and some pre-baked helpers for getting folks started, with the aim of being all ready to go after npm install --save-dev <plugin-name>

So... what to call it? All three of these need names:

  1. npm name
  2. CLI command
  3. project directory name
npm name cli command directory name comment
lineman-browser-test ??? ??? obvious npm name, but what would the commands be?
lineman-spec-e2e lineman spec-e2e /spec-e2e a misnomer for lib projects
lineman-webdriver ??? ??? naming it by an implementation detail I hope to change one day seems stupid
davemo commented 10 years ago

lineman-browser-test seems most straightforward, and I'd go with the same cli commands:

lineman browser-test /browser-tests

krainboltgreene commented 10 years ago

lineman-browerspec -> lineman browserspec

jasonkarns commented 10 years ago

Carrying over my lineman-conductor idea from slackhq conversation.

searls commented 10 years ago

:+1: for driving people insane by encouraging both a "spec" and a "test" named folder in the same project

searls commented 10 years ago

@jasonkarns you can totally get lineman-conductor over the finish line if you can think of a decent command & directory name

jasonkarns commented 10 years ago

I like lineman-conductor as the npm/project name coupled with spec-browser as the command and directory name.

Benefits to spec-browser command: it matches spec and spec-ci. Benefits to spec-browser directory: it would follow spec in a directory listing.

davemo commented 10 years ago

I like lineman-conductor, and I don't think the plugin name needs to mirror the folder name :)

davemo commented 10 years ago

If @jasonkarns doesn't win with the conductor meme, how about lineman-choochoo? :trollface:

searls commented 10 years ago

@jasonkarns @davemo I worry that the cuteness of the npm name in that case would detract from its discoverability unless it become a hugely marketable thing unto itself (of which I have no such delusions).

searls commented 10 years ago

lineman-spec-browser w/ spec-browser & spec-browser/ seems reasonable enough

jasonkarns commented 10 years ago

need to ensure proper keywords in the package.json, which would aid in discoverability (at least on npmjs.org)

searls commented 10 years ago

I don't think anyone actually discovers npm modules that way

searls commented 10 years ago

s/anyone/me

krainboltgreene commented 10 years ago

I'm a big fan of theme (lineman for instance is a great name) but only at root level. lineman-conductor is two levels of theme and can be confusing. Example: lineman new vs lineman laytrack.

jasonkarns commented 10 years ago

aren't the keywords used in search? so a search for 'browser', 'spec' 'e2e' would find conductor if those words were in keywords?

TravisTheTechie commented 10 years ago

So spec-browser says something a little different than browser-specs which is more what it you're running, right? Should you consider client instead of browser?

searls commented 10 years ago

The word client gets muddled because an entire lineman project is a "client-side" project and yet here we are offering it's most "integratedy" way to run: a real browser talking to a running local server

On Tue, Feb 18, 2014 at 1:05 PM, Travis Smith notifications@github.com wrote:

So spec-browser says something a little different than browser-specs which is more what it you're running, right? Should you consider client instead of browser?

Reply to this email directly or view it on GitHub: https://github.com/linemanjs/lineman/issues/207#issuecomment-35413971

markijbema commented 10 years ago

I'm greatly in favour of a descriptive name. Cute names are nice for large, well-known projects, not for smaller utilities. Rails OK, lineman OK. Capybara not OK, koala not OK.

There are some very well-known libraries with boring names as well, which is even better IMO, rspec, mongoid.

krainboltgreene commented 10 years ago

lineman livespecs?

Foxandxss commented 10 years ago

@davemo chocho (not choochoo) is [mod edit: Pejorative describing female genitals] in spanish :P

searls commented 10 years ago

LOL thanks for the perspective @Foxandxss

markijbema commented 10 years ago

I like livespecs. It indicates clearly what it does, without tying in to specific technology (browser)

Foxandxss commented 10 years ago

Apart from my perspective. Is there any plan for a lineman-protractor? I need time to play with the angular part and that is the only thing left to be able to create a lineman app and plug plugins, is the protractor part. I know @searls doesn't like it, but it is still the way to browser test angular.

searls commented 10 years ago

@Foxandxss -- recommend you take a stab at lineman-protractor if you're interested in it (it's unlikely I'm going to tackle this myself). My next big lineman feature will (if I don't get blocked) building a general-purpose browser test tool, so there's a chance that you'd get some lift from my efforts if you choose to wait it out a bit longer.

searls commented 10 years ago

Going to go with this naming scheme I think:

npm name: lineman-spec-browser cli: lineman spec-browser directory: /spec-browser

markijbema commented 10 years ago

Why did you choose spec-browser over browser-spec? When reading spec-browser my first thought is a document browser, but then for specs, not a test-runner.

searls commented 10 years ago

All things being equal, I agree with you. But because the cli command and the directory name are more consistent as "spec-browser", I didn't want to reverse the order for the module name and ultimately confuse folks by having "browser-spec" in one place and "spec-browser" in others. 

Open to more feedback though!

On Thu, Feb 20, 2014 at 3:42 AM, Mark IJbema notifications@github.com wrote:

Why did you choose spec-browser over browser-spec? When reading spec-browser my first thought is a document browser, but then for specs, not a test-runner.

Reply to this email directly or view it on GitHub: https://github.com/linemanjs/lineman/issues/207#issuecomment-35599183

krainboltgreene commented 10 years ago

I'd be more inclined with spec/browser, but maybe that's just my nesting tendencies. On Feb 20, 2014 2:45 AM, "Justin Searls" notifications@github.com wrote:

All things being equal, I agree with you. But because the cli command and the directory name are more consistent as "spec-browser", I didn't want to reverse the order for the module name and ultimately confuse folks by having "browser-spec" in one place and "spec-browser" in others.

Open to more feedback though!

On Thu, Feb 20, 2014 at 3:42 AM, Mark IJbema notifications@github.com wrote:

Why did you choose spec-browser over browser-spec? When reading spec-browser my first thought is a document browser, but then for specs,

not a test-runner.

Reply to this email directly or view it on GitHub: https://github.com/linemanjs/lineman/issues/207#issuecomment-35599183

— Reply to this email directly or view it on GitHubhttps://github.com/linemanjs/lineman/issues/207#issuecomment-35599308 .

searls commented 10 years ago

Yeah, that's off the table I think because it could cause real and serious problems for anyone with an existing app and test suite. We try really hard to avoid BC-breaking changes in file pattern defaults

On Thu, Feb 20, 2014 at 4:17 AM, Kurtis Rainbolt-Greene < notifications@github.com> wrote:

I'd be more inclined with spec/browser, but maybe that's just my nesting tendencies. On Feb 20, 2014 2:45 AM, "Justin Searls" notifications@github.com wrote:

All things being equal, I agree with you. But because the cli command and the directory name are more consistent as "spec-browser", I didn't want to reverse the order for the module name and ultimately confuse folks by having "browser-spec" in one place and "spec-browser" in others.

Open to more feedback though!

On Thu, Feb 20, 2014 at 3:42 AM, Mark IJbema notifications@github.com wrote:

Why did you choose spec-browser over browser-spec? When reading spec-browser my first thought is a document browser, but then for specs,

not a test-runner.

Reply to this email directly or view it on GitHub: https://github.com/linemanjs/lineman/issues/207#issuecomment-35599183

Reply to this email directly or view it on GitHub< https://github.com/linemanjs/lineman/issues/207#issuecomment-35599308> .

Reply to this email directly or view it on GitHubhttps://github.com/linemanjs/lineman/issues/207#issuecomment-35601411 .

krainboltgreene commented 10 years ago

Fair concern.

On Thu, Feb 20, 2014 at 3:33 AM, Justin Searls notifications@github.comwrote:

Yeah, that's off the table I think because it could cause real and serious problems for anyone with an existing app and test suite. We try really hard to avoid BC-breaking changes in file pattern defaults

On Thu, Feb 20, 2014 at 4:17 AM, Kurtis Rainbolt-Greene < notifications@github.com> wrote:

I'd be more inclined with spec/browser, but maybe that's just my nesting tendencies. On Feb 20, 2014 2:45 AM, "Justin Searls" notifications@github.com wrote:

All things being equal, I agree with you. But because the cli command and the directory name are more consistent as "spec-browser", I didn't want to reverse the order for the module name and ultimately confuse folks by having "browser-spec" in one place and "spec-browser" in others.

Open to more feedback though!

On Thu, Feb 20, 2014 at 3:42 AM, Mark IJbema <notifications@github.com

wrote:

Why did you choose spec-browser over browser-spec? When reading spec-browser my first thought is a document browser, but then for specs,

not a test-runner.

Reply to this email directly or view it on GitHub:

https://github.com/linemanjs/lineman/issues/207#issuecomment-35599183

Reply to this email directly or view it on GitHub< https://github.com/linemanjs/lineman/issues/207#issuecomment-35599308> .

Reply to this email directly or view it on GitHub< https://github.com/linemanjs/lineman/issues/207#issuecomment-35601411>

.

— Reply to this email directly or view it on GitHubhttps://github.com/linemanjs/lineman/issues/207#issuecomment-35602489 .

Kurtis Rainbolt-Greene, Hacker Software Developer 612 S. Flower St. Los Angeles, CA, 90017

Foxandxss commented 10 years ago

@searls Will do.