GithubHelp home page GithubHelp logo

compwron / arquillian-core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from arquillian/arquillian-core

0.0 2.0 0.0 4.47 MB

Arquillian provides a component model for integration tests, which includes dependency injection and container life cycle management. Instead of managing a runtime in your test, Arquillian brings your test to the runtime.

Home Page: http://arquillian.org

License: Apache License 2.0

Java 99.86% CSS 0.14%

arquillian-core's Introduction

Arquillian - So you can rule your code. Not the bugs.

Arquillian is an innovative and highly extensible testing platform for the JVM that enables developers to easily create automated integration, functional and acceptance tests for Java middleware.

What is it?

Picking up where unit tests leave off, Arquillian handles all the plumbing of container management, deployment and framework initialization so you can focus on the task at hand, writing your tests. Real tests. In short…

Arquillian makes integration testing a breeze!

Arquillian brings the test to the runtime so you don’t have to manage the runtime from the test (or the build). Arquillian eliminates this burden by covering all aspects of test execution, which entails:

  • Managing the lifecycle of the container (or containers)

  • Bundling the test case, dependent classes and resources into a ShrinkWrap archive (or archives)

  • Deploying the archive (or archives) to the container (or containers)

  • Enriching the test case by providing dependency injection and other declarative services

  • Executing the tests inside (or against) the container

  • Capturing the results and returning them to the test runner for reporting

To avoid introducing unnecessary complexity into the developer’s build environment, Arquillian integrates seamlessly with familiar testing frameworks (e.g., JUnit 4, TestNG 5), allowing tests to be launched using existing IDE, Ant and Maven test plugins — without any add-ons.

Guiding Principles

The Arquillian project adheres to three core principles:

Tests should be portable to any supported container

Keeping container-specific APIs out of the tests enables developers to verify application portability by running tests in a variety of containers. It also means that lightweight containers can be used as a substitute for full containers during development.

Tests should be executable from both the IDE and the build tool

By leveraging the IDE, the developer can skip the build for a faster turnaround and has a familiar environment for debugging. These benefits shouldn’t sacrifice the ability to run the tests in continuous integration using a build tool.

The platform should extend or integrate existing test frameworks

An extensible architecture encourages reuse of existing software and fosters a unified Java testing ecosystem.

Regardless of how complex it becomes, executing an Arquillian test is as simple as selecting “Run As > Test” in the IDE or executing the “test” goal from the build tool.

Contents of distribution

The Arquillian Core, Container Extension, Test Extension, Test integration for JUnit and TestNG, Common TestEnrichers and Common Protocols.

Licensing

This distribution, as a whole, is licensed under the terms of the Apache License, Version 2.0 (see apl.txt).

arquillian-core's People

Contributors

alesj avatar alrubinger avatar andygibson avatar aslakknutsen avatar bartoszmajsak avatar davided avatar deruelle avatar drallen avatar gastaldi avatar gpoul avatar hasalex avatar htfv avatar ianbrandt avatar ivannov avatar kpiwko avatar lightguard avatar lincolnthree avatar matejonnet avatar mgencur avatar mkouba avatar mmatloka avatar mojavelinux avatar nickarls avatar papousek avatar pmuir avatar ralfbattenfeld avatar robertpanzer avatar samaxes avatar tommysdk avatar vineetreynolds avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.