Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
cs
 
 
em
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

EMB

EvoMaster Benchmark (EMB): a set of web/enterprise applications for experimentation in automated system testing.

The folder cs (case study) contains the source code of the different system under tests (SUT) in this benchmark.

The folder em (EvoMaster) contains the classes needed to be written to enable the use of EvoMaster on the SUTs. In particular, there are EmbeddedEvoMasterController and ExternalEvoMasterController class implementations for each SUT. Note: usually you would write a EvoMaster controller class in the same module of the SUTs. Here, they are in different modules just to make clear what is needed to implement to enable the use of EvoMaster.

License

All the code that is new for this repository is released under Apache 2.0 license. However, this repository contains as well sources from different open-source projects, each one with its own license, as clarified in more details beneath.

Build The Projects

To compile and generate all the jar files, use the command:

mvn clean package -DskipTests

Currently, all the case studies do require JDK 8. They will not compile with a different version.

Note: the case studies do import EvoMaster as a library. Current SNAPSHOT versions of the case studies do use the most recent SNAPSHOT version of EvoMaster (the two versioning numbers are aligned). We do NOT publish the SNAPSHOT dependencies online. This means that, if you try to build the project directly, it will fail due to missing SNAPSHOT dependencies.

To use such SNAPSHOT versions, you need first a mvn install of EvoMaster on your machine (so that the SNAPSHOT jars are created, and put under your ~/.m2 folder). However, in the Git repository of EMB, we did tag the versions of EMB that are using the published versions of EvoMaster. See the releases page. For example, to use version X of EvoMaster, you can check out the Git commit of EMB tagged with version X. To see the current available tags, from a command-line you can execute:

git tag

Then, to switch to a specific tag X (e.g., v1.0.0), you can run:

git checkout tags/v1.0.0

Finally, if for any reason you need to switch back to the latest snapshot version, you can run:

git checkout master

There is an issue if you try to checkout an old version. Not only Java broke backward compatibility with JDK 9, but also Maven... If you try to build with Maven and get an error regarding maven-processor-plugin, you might have to add manually the following plugin dependency version:

<plugin>
    <groupId>org.bsc.maven</groupId>
    <artifactId>maven-processor-plugin</artifactId>
    <version>3.3.3</version>
</plugin>

Besides JDK 8, to build from Maven you will also need NPM and NodeJS installed on your machine (as some of the projects have GUIs built with JS).

Current Case Studies

REST

You can’t perform that action at this time.