1 2 Previous Next 24 Replies Latest reply: Jul 9, 2012 8:11 AM by Stan Silvert Go to original post RSS
  • 15. Re: Project JSFUnit.NG (not tied to JSF)
    Dan Allen Master

    First, a big +1 to this initiative. We've been dragging JSFUnit behind the ship for too long. The time is right to cut the rope and design the framework in the Arquillian style. I'm glad to see we've already hit warp speed

     

    I love the idea of being able to interweave server-side assertions into a real request lifecycle. That is seriously powerful. It makes SeamTest (from Seam 2) look like smoke and mirrors.

     

    You guys have assembled an impressive list of names. I know our winner is in there somewhere While I understand that there is value in leveraging the brand recognition of JSFUnit, this is such a vastly fresh approach that I actually think it would be a mistake to keep using that name. JSFUnit actually has a reputation for being a huge headache for developers and I'm in favor of killing it. I want them to be able to come into this project without bias. Arquillian is a much stronger brand anyway. Don't worry, we'll get the message out there.

     

    Here are the names I voted for in the poll and some commentary about my selections:

     

    Warp

     

    I took to the name Warp right away. It looks nice and sounds good. It conveys the message that we are bending / twisting the request in to fit in the assertions or tweaks.

     

    RequestWarp might be a better name for the object that executes the request. I wouldn't use it as the project name, though.

     

    Slipstream

     

    This name most accurately describe how the library works. A slipstream is a region behind or adjacent to a moving object that has a velocity comparable to the moving object. A slipstream is often used for drafting. We are drafting assertion logic onto the request. Frankly, it's a perfect fit.

     

    Pulsar

     

    This name describes how the callback objects are used. As the request occurs, the callback objects pulse w/ activity, then go dormant again until the next touch point. It's almost as good as Slipstream...and probably sounds cooler of the two.

     

    WebTap

     

    This is a write-in entry. After seeing Warp and Pulsar, it gave me the idea that we are "tapping" the request to check on it's state. This describes both the purpose of the project and how it works. If none of the above entries jive with you, definitely consider this one.

     

    Here's my order of preference:

     

    1. Slipstream
    2. Pulsar
    3. WebTap
    4. Warp

     

    Keep up the great work Lukas.

     

    Btw, you may want to touch base with Marek Schmidt to see if this prototype fits his requirements for rewriting the Seam 2 tests in Seam booking that emulate the JSF lifecycle. That's not something the Seam 2 extension handles atm and so he's been struggling to port the tests. I'm also interested to see if he discovers any use cases / edge cases we are overlooking.

  • 16. Re: Project JSFUnit.NG (not tied to JSF)
    Lukáš Fryč Master

    We already discussed relation of Seam 2 tests and JSFUnit.NG with Marek,

    and I'm pretty sure he will be able to extend the idea and find more use cases we could cover with JSFUnit.NG core,

    effectively substituting SeamTest.

  • 17. Re: Project JSFUnit.NG (not tied to JSF)
    Andrew Rubinger Master

    I'm also a little late here, but as a suggestion:

     

    We test "Phases" in Lukas' prototype.  So why not something like "Phaser"? (Also relates back to Star Trek).

     

    S,

    ALR

  • 18. Re: Project JSFUnit.NG (not tied to JSF)
    Lukáš Fryč Master

    Yeah, little bit late on the party, but we should consider "Phaser" as name for JSF-specific extension of JSFUnit.NG :-)

     

    I have just opened second round of poll:

     

    The three most favorite options from first round were taken and you can give your vote for one of them:


    • Arquillian SlipStream
    • Arquillian Pulsar
    • Arquillian Warp

     

    Thanks for all the votes in first round (12 respondents).

  • 19. Re: Project JSFUnit.NG (not tied to JSF)
    Lukáš Fryč Master

    Okay, I have closed the poll for new name:

     

    There were 36 votes at time of closing, fantastic!

     

    The winner is: Arquillian Warp (17).

     

    But the poll was close, see complete results:

    https://docs.google.com/a/fryc.eu/spreadsheet/viewanalytics?formkey=dHotbXQwMm01VTFXN0ozc2hzdTFvZXc6MQ

     

    ----

     

    I'm working right now on refactoring project under the new name and we should reach Alpha1 soon.

     

    Repository: https://github.com/arquillian/arquillian-extension-warp

    Issue tracking: https://issues.jboss.org/browse/ARQ/component/12315782

    Continuous Integration: https://arquillian.ci.cloudbees.com/job/Arquillian-Extension-Warp/

     

    I would appreciate any help in form of testing the bits - you can reach me on #jbosstesting @ irc.freenode.net

  • 20. Re: Project JSFUnit.NG (not tied to JSF)
    Dan Allen Master

    Onwards!

  • 21. Re: Project JSFUnit.NG (not tied to JSF)
    Lukáš Fryč Master

    Ready to look into Warp before reaching Alpha1?

     

    Give it a try while it's hot!

     

    Tests for JSF lifecycle and CDI enrichment:

    PhaserBasicTest

     

    Simple test using just Servlet extension:

    WarpBasicTest

  • 22. Re: Project JSFUnit.NG (not tied to JSF)
    Stan Silvert Master

    I guess I'm extra-late to this thread.  Better late than never.

    Dan Allen wrote:

     

    First, a big +1 to this initiative. We've been dragging JSFUnit behind the ship for too long. The time is right to cut the rope and design the framework in the Arquillian style. I'm glad to see we've already hit warp speed

     

    I'll give it a big +1 as well.  Arquillian is the missing link that JSFUnit has needed from the start.  Back then we were working with JSF 1.1, Servlet 2.5, and JBoss AS 4.0.  A lot has changed since then and JSFUnit is long over due for a transformation.

     

     

    I love the idea of being able to interweave server-side assertions into a real request lifecycle. That is seriously powerful. It makes SeamTest (from Seam 2) look like smoke and mirrors.

    Yes, that's always been the key to JSFUnit's value.  No mocks.  You test in the real environment, which gives you tests that are truly valid.  See "Mocks are a Mockery" on Bill Burke's blog.

     

     

    You guys have assembled an impressive list of names. I know our winner is in there somewhere While I understand that there is value in leveraging the brand recognition of JSFUnit, this is such a vastly fresh approach that I actually think it would be a mistake to keep using that name. JSFUnit actually has a reputation for being a huge headache for developers and I'm in favor of killing it. I want them to be able to come into this project without bias. Arquillian is a much stronger brand anyway. Don't worry, we'll get the message out there.

     

    A big -1 for killing the JSFUnit name.  JSFUnit has a very good reputation overall.  Lots of other approaches to JSF testing were tried and promoted.  JSFUnit won hands down.  And while (no surprise) I think that JSFUnit was technically innovative for its time, the name itself contributed just as much to its success.  It's simple, to the point, and easy to remember.  People will ask, "What is Arquillian Warp?".  But nobody ever had to ask me "What is JSFUnit?".

     

    Personally, I like "JSFUnit NG" or "Arquillian JSFUnit" as the new name.  It keeps all the simplicity and good connotations of the old brand while it conveys that this is more than just an evolution of the old product.

     

    Stan

  • 23. Re: Project JSFUnit.NG (not tied to JSF)
    Lukáš Fryč Master

    Stan Silvert wrote:

     

    A big -1 for killing the JSFUnit name.  JSFUnit has a very good reputation overall.  Lots of other approaches to JSF testing were tried and promoted.  JSFUnit won hands down.  And while (no surprise) I think that JSFUnit was technically innovative for its time, the name itself contributed just as much to its success.  It's simple, to the point, and easy to remember.  People will ask, "What is Arquillian Warp?".  But nobody ever had to ask me "What is JSFUnit?".

     

    Personally, I like "JSFUnit NG" or "Arquillian JSFUnit" as the new name.  It keeps all the simplicity and good connotations of the old brand while it conveys that this is more than just an evolution of the old product.

     

    Stan

     

    The name of the Warp was chosen also because it does intent to cover more frameworks than JSF (as Spring integration is already in good hands).

     

     

    I'm not sure about JSFUnit brand value,

     

    but one point is its name gives a feeling of unit-testing, but Warp is strongly integration-testing focused.

     

     

    The JSF extension for Warp is called Phaser right now, but I'm more than open to rename it (as you said, too much names are overkills):

     

    "Arquillian Warp JSF"

    "Arquillian Warp for JSF"

     

    "Arquillian JSFUnit"

    "Arquillian JSFUnit.NG"

    (based on Warp)

  • 24. Re: Project JSFUnit.NG (not tied to JSF)
    Stan Silvert Master

    Lukáš Fryč wrote:

     

    but one point is its name gives a feeling of unit-testing, but Warp is strongly integration-testing focused.

    I've heard that criticism before.  When you have in-container testing that provides full access to every artifact from top to bottom, you start to blur the lines between unit testing and integration testing.  Is Arquillian really for integration testing or for unit testing?  The answer is that it is the best tool for both.  Except for the most trivial unit tests, you need an environment to run in.  Traditional unit testing relies on mocks.  Arquillian (and JSFUnit) give you the real environment.  See "Mocks are a Mockery" on Bill Burke's blog. 

     

    So my advice is that you refrain from telling people that Warp is integration-testing focused.  Everyone should be using in-container testing for all developer-driven tests.

     

     

    Lukáš Fryč wrote:

     

    The JSF extension for Warp is called Phaser right now, but I'm more than open to rename it (as you said, too much names are overkills):

     

    "Arquillian Warp JSF"

    "Arquillian Warp for JSF"

     

    "Arquillian JSFUnit"

    "Arquillian JSFUnit.NG"

    (based on Warp)

    IMO, "Arquillian JSFUnit" is perfect.  Anybody who hears that name knows immediately that JSFUnit has moved to Arquillian.  "Arquillian Warp for JSF" sounds like a product that competes with JSFUnit.

     

    That's what it all really comes down to.  You want a name that that describes what it is and what it does as succinctly as possible. 

    Arquillian means "this is part of the Arquillian family of products"

    JSF means "this is for JSF"

    Unit means "this is for testing"

     

    I can't overemphasize how much the simple name JSFUnit helped the project.  Often, marketing is just as important as engineering.

     

    Stan

1 2 Previous Next