Permalink
Fetching contributors…
Cannot retrieve contributors at this time
196 lines (142 sloc) 6.15 KB

Release Notes

Jnario 1.0.0

  • Compatible with Xtend 2.6.2
  • Add support for anonymous classes in specs and features
  • Easier project setup: Jnario uses now Xtend's compiler configuration
  • Eclipse m2e integration: automatically configure Jnario from the POM
  • Code formatting for Specs (including tables)
  • Execute specific scenarios from within the feature editor #114
  • Reimplemented & optimized Jnario standalone compiler
  • Improved maven compiler performance #132
  • Rename maven artifacts:
    • org.jnario.lib.maven -> org.jnario.lib
    • org.jnario.standalone.maven -> org.jnario.standalone
  • Several IDE performance improvements
  • Fixed two severe memory leaks
  • Fixed no longer existing maven depencencies
  • Fixed multiple rendering bugs in jnario reports #112, #108

Jnario 0.7.5

  • Fixed completion not working after '.' in feature files.
  • CTRL + > and CTRL + SHIFT + < work now in feature files for inserting Guillemets.
  • Fixed automatic insertion of Guillemets in rich strings.
  • Fixed NPE in spec auto formatter.

Jnario 0.7.4

  • Fix code completion bug feature lang.

Jnario 0.7.3

  • Compatible with Xtend 2.5.3
  • Fix maven dependencies for org.jnario.standalone.maven

Jnario 0.7.2

  • Compatible with Xtend 2.5.1

Jnario 0.7.1

  • Fix: change how null matcher works due to changes in Xtend

Jnario 0.7.0

  • Compatible with Xtend 2.5.0
  • Fix: problems with maven source folders under windows

Jnario 0.6.1

  • Fix: problems when resolving suites in maven builds
  • Fix: invalid xtend dependency in org.jnario.maven.standalone
  • Fix: should not returning the wrong value in Feature step references

Jnario 0.6.0

  • Compatible with Xtend 2.4.3
  • Fix: encoding problems in generated reports
  • Fix: CompilerMain & ReportGeneratorMain return error code if compilation fails.
  • Fix: remove invalid validation error when two root specs both reference java types.

Jnario 0.5.1

  • Fix unresolved features in suites when building with maven.
  • Maven report generator has now an explicit parameter sourceDirectory.
  • Fix invalid Jnario dependency in maven archetype.

Jnario 0.5.0

  • Compatible to Xtend 2.4.2.
  • Greatly reduced compile times
  • Remove dependencies to JUnit und Hamcrest from Jnario Plugins, which could lead to problems when compiling Jnario specs in some Eclipse environments.
  • Fixed compile error when referencing steps that used static methods with multiple arguments.
  • Fixed debug support when using maven.
  • Fixed sporadic invalid validation errors when referencing steps.
  • Static members can now be accessed via '.' instead of '::':

    // both are valid
    findElement(By.name("btnG")).click() 
    findElement(By::name("btnG")).click() 
    
  • Define should matchers using lambdas

    fact "Example"{
      personOfAgeFour should be underAge
      personOfAgeFour should be olderThan(personOfAgeFive)
    
      /*  Fails with:
        java.lang.AssertionError: 
        Expected personOfAgeFour should be olderThan(personOfAgeFive) but
            personOfAgeFour is <A(4)>
            personOfAgeFive is <B(5)>
       */
    }
    
    def olderThan(Person p){
      [Person other | other.age > p.age]
    }
    
    def underAge() {
      [Person p | p.age < 18]
    }
    

Jnario 0.4.3

  • Fixed NPE when opening Jnario preferences

Jnario 0.4.2

  • Improved error messages for failed asssertions (closures will be filtered)
  • Improved code completion for feature steps

Jnario 0.4.1

  • fixed organize imports for features definitions in combination with StepArguments
  • fixed occasional "duplicate local variable args" validation error in feature definitions
  • fixed create method quick fix for xtend files

Jnario 0.4.0

  • Runs with Xtend 2.4.0
  • Improved type inference and faster build times
  • Access extension fields from in nested example groups:

     describe "Extension in nested example groups" {
       extension Shouter = new Shouter
       describe "nested example group"{
         fact "Hello".shout => "HELLO"
       }
     }
    
  • Access extension fields in Background scenarios:

     Feature: Extension fields in Backgrounds
    
     Background:
         extension Shouter = new Shouter
       Given a background with extension  
         "Hello".shout => "HELLO"
    
     Scenario: Using the background extension
       Then we can use the extension 
         "Hello".shout => "HELLO"
    
  • Generate HTML reports which includes a spec's outcome including possible failures. Example report

  • Define super classes in features and specs using the @Extends annotation:

    @Extends(typeof(MySuperClass))
    describe "defining super classes"{
         ...
    }
    
  • New wait helper:

    fact "Wait for something"{
      // define wait condition using lambdas 
      waitUntil[1 > 0]
      // configuration options
      waitUntil[
        message = "Custom error message"
        duration = 100
        pollingInterval = 10
        1 > 0
      ]
    }
    
  • Validation error for duplicate step implementations in features.
  • New maven archetype for creating a basic Jnario project:

     mvn archetype:generate                                  \
     -DarchetypeGroupId=org.jnario                           \
     -DarchetypeArtifactId=jnario-archetype                  \
     -DarchetypeVersion=0.4.0                                \
     -DgroupId=org.example                                   \
     -DartifactId=myproject
    
  • Better maven support in Eclipse via M2E.

  • Oldie but goldie: You can define your own should matchers by defining a method with the prefix should_XXXX in the current scope. The method needs to return a boolean value. For example, when we define a method should_eat:

     fact "Define your own matchers"{
       "Monkey" should eat "Banana"
       "Monkey" should eat "Rocks" throws AssertionError
     }
    

    ...then we can use "eat" in our should expressions:

     def should_eat(String animal, String food){
       animal == "Monkey" && food == "Banana"
     }