Monday, April 11, 2016

Using Spock



https://dzone.com/articles/spock-data-driven-testing
@Unroll
def '#wc should return getlasterror document #commandDocument'() {
    expect:
    wc.asDocument() == commandDocument;

    where:
    wc                                | commandDocument
    WriteConcern.UNACKNOWLEDGED       | ['getlasterror': 0]
    WriteConcern.ACKNOWLEDGED         | ['getlasterror': 1]
    WriteConcern.REPLICA_ACKNOWLEDGED | ['getlasterror': 1, 'w': 2]
    WriteConcern.JOURNALED            | ['getlasterror': 1, 'j': true]
    WriteConcern.FSYNCED              | ['getlasterror': 1, 'fsync': true]
    new WriteConcern('majority')      | ['getlasterror': 1, 'w': 'majority']
    new WriteConcern(1, 100)          | ['getlasterror': 1, 'wtimeout': 100]
}
all the lines under where: get run, regardless of whether the test before it passes or fails. This basically is seven different tests, but takes up the same space as one.

@Unroll
def 'should generate index name #indexName for #index'() {
    expect:
    index.getName() == indexName;

    where:
    index                                              | indexName
    new Index('x')                                     | 'x_1'
    new Index('x', OrderBy.ASC)                        | 'x_1'
    new Index('x', OrderBy.DESC)                       | 'x_-1'
    new Index(new Index.GeoKey('x'))                   | 'x_2d'

    new Index(new Index.OrderedKey('x', OrderBy.ASC),
              new Index.OrderedKey('y', OrderBy.ASC),
              new Index.OrderedKey('a', OrderBy.ASC))  | 'x_1_y_1_a_1'

    new Index(new Index.GeoKey('x'),
              new Index.OrderedKey('y', OrderBy.DESC)) | 'x_2d_y_-1'

}
http://hamletdarcy.blogspot.com.es/2009/05/new-power-assertions-in-groovy.html
http://aruizca.com/integrated-vs-functional-testing-how-to-test-rest-apis-in-grails-using-spock/

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts