FitNesse -- The Acceptance Test Wiki

Related tags

Testing fitnesse
Overview

FitNesse maven central SonarQube Tech Debt

Welcome to FitNesse, the fully integrated stand-alone acceptance testing framework and wiki.

To get started, check out http://fitnesse.org!

Quick start

Bug tracker

Have a bug or a feature request? Please open a new issue.

Community

Have a question that's not a feature request or bug report? Join the Slack Community.

Edge builds

The latest stable build of FitNesse can be downloaded here.

Note: the edge Jenkins build produces 2 jars. fitnesse.jar is for use in Maven or Ivy. Users who just want to run FitNesse by itself should download fitnesse-standalone.jar instead of fitnesse.jar.

Developers

Issues and pull requests are administered at GitHub.

Building

A proper internet connection is sufficient to build FitNesse. The build process will bootstrap itself by downloading Gradle and from there will download the dependencies required to build and test FitNesse.

To build and run all tests, run the command

$ ./gradlew

which builds the all target.

NB. On windows call gradlew.bat instead of ./gradlew.

Running

To start the FitNesse wiki locally, for example to browse the local version of the User Guide

$ ./gradlew run

Testing

To run the unit tests:

$ ./gradlew test

To run the acceptance tests:

$ ./gradlew acceptanceTest

Direct any questions to the Slack Community..

Working with Eclipse and IntelliJ

There are a few things to keep in mind when working from an IDE:

  1. The Gradle build does some extra things apart from compiling the code.

    • It sets the FitNesse version in a META-INF/FitNesseVersion.txt
    • It copies the dependencies to the lib folder so they can be used by the acceptance tests.

    Perform a

    $ ./gradlew copyRuntimeLibs
    

    to execute the copy action. In your IDE it is possible to define "post-compilation" steps. If you set the "post-compile" target from the build file, you won't have any trouble with cleaning, building and executing tests from your IDE.

Import FitNesse in Eclipse

  1. Clone the FitNesse Git repository from https://github.com/unclebob/fitnesse.
  2. Import FitNesse via File -> Import... -> Gradle Project.
  3. Select the just cloned project folder. Follow the wizard.
  4. Ensure the project properties have a Java 8 compiler or newer set.

Import FitNesse in IntelliJ IDEA (16)

  1. Clone the FitNesse Git repository from https://github.com/unclebob/fitnesse.
  2. From the welcome screen (the one you get when all projects are closed), click Import Project.
  3. Select the file build.gradle in the fitnesse folder.
  4. Follow the wizard. Deselect the option Create separate module per source set. You can use the Use gradle wrapper task configuration. Use Java 8 or newer. It should find source and test folders and show you two modules: fitnesse and :buildSrc; import both.
  5. Open the Gradle Build tool, select the task copyRuntimeLibs and (right-click) mark it as Execute After Make.

The release process

Software artifacts (the FitNesse jar, the standalone jar and POM files) are uploaded to Bintray. There are two repositories:

  • Edge contains snapshot builds
  • Release contains the official release builds.

In both cases you'll need sufficient permissions to perform a release.

Edge builds

Edge builds can be done at any time

$ ./gradlew snapshotRelease

Release builds

Release builds denote "blessed" releases. Those are tagged in Git along with being released. The releases will be available from both Maven Central and JCenter.

$ ./gradlew release
Comments
  • Issue with hsac fixture

    Issue with hsac fixture

    Hi All, I am trying run just one sample test case using xml http test and json http tests using hsac-fitnesse-fixtures-2.12.2.jar

    I have downloaded the jar and given !path in the wiki table as below.

    !define TEST_SYSTEM {slim} !path D:/APIConnect/hsac_jar/latest/* !define POST_BODY_2 { {{{ <s11:Envelope xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"> s11:Body <ns1:GetCityWeatherByZIP xmlns:ns1="http://ws.cdyne.com/WeatherWS/"> ns1:ZIP@{zip}</ns1:ZIP> </ns1:GetCityWeatherByZIP> </s11:Body> </s11:Envelope> }}} }

    |script|xml http test| |table template |send request | |post |${POST_BODY_2} |to |http://localhost:7080/apitest| |check |response status|200 | |show |response |

    and getting the below error. hsac_error hsac_error

    can anyone please provide some inputs to make this work.

    Thanks,

    opened by srinivasmmdl 34
  • Nested table implementation doesn't encode < character to invalid XML produced

    Nested table implementation doesn't encode < character to invalid XML produced

    I'm using defines to create nested tables. It works well, but I ran into a problem when I used a character that's not allowed in XML. Here's my define - notice the description for item 4: !define BONUSRatingTbl {| RATING_NBR | DESCR2 | | 1 | Met 100% of goals | | 2 | Met 75% of goals | | 3 | Met 50% of goals | | 4 | Met < 50% of goals | }

    This resulted in the following text being passed to SLIM:

    <table>
        <tr>
            <td>RATING_NBR</td>
            <td>DESCR2</td>
        </tr>
        <tr>
            <td>1</td>
            <td>Met 100% of goals</td>
        </tr>
        <tr>
            <td>2</td>
            <td>Met 75% of goals</td>
        </tr>
        <tr>
            <td>3</td>
            <td>Met 50% of goals</td>
        </tr>
        <tr>
            <td>4</td>
            <td>Met < 50% of goals</td>
        </tr>
    </table>
    

    When my fixture tries to convert the string to an XML object for conversion, it fails due to the invalid < character being in the text, which I believe should be encoded as &#x60;

    Edit: In reality, it ought to be encoded as &lt;, which still isn't happening in my case.

    opened by ALuckyGuy 27
  • SLiM server died before a connection could be established

    SLiM server died before a connection could be established

    Problem Description

    I think I have uncovered a possible defect in Fitnesse, more specifically after version 20140901. I can't seem to find any other person that have experienced a similar problem, so I figured that I should post it here.

    When starting a test in Fitnesse I get the following error:

    Could not complete testing: fitnesse.slim.SlimError: Error SLiM server died before a connection could be established.

    My OS is Windows 7 and I'm running Fitnesse in a Java project which uses jdk1.7.

    Problem Diagnosis

    I have performed some diagnosis to try to figure out what could be the reason for this error.

    I am cooperating with another person who uses a Mac instead of Windows, and he does not experience this error.

    When ONLY changing the Fitnesse version in maven pom I have uncovered the following:

    1. This problem does NOT occur on version 20140901.
    2. I get the reported error message on version 20150424 and 20150226.
    3. When using version 20150114 the test just hangs and never exits.

    When debugging the error I have found the following:

    1. The exception is thrown on line 92 in SlimCommandRunningClient.java
    2. This seems to be because the isDead() method returns true for the process in slimRunner(CommandRunner)
    3. This process is implemented as a java.lang.ProcessImpl for Windows, while on Mac it is implemented as a UNIXProcess
    4. The exitValue for the process is 1

    Another peculiar thing that I found was that when using the remote debug option in Fitnesse(?responder=test&remote_debug=true), the test works and no errors occur(This works on version 20150114, 20150424 and 20150226).

    So, what could be the cause for this error? According to my diagnosis this problem started to occur after version 20140901.

    opened by Thurmann 24
  • Run order of suites is unpredictable

    Run order of suites is unpredictable

    The order in which suites are run is illogical (at least not the same order in which it is presented)

    my suites are ordered as follows: Backend Tests * - Suite Instrument Search * ... - Suite Ordering * ... - Suite Relation Search * ... - Suite Set Up Frontend Tests * - Suite Cms * ... - Suite Employee Login * ... - Suite Employee Navigation Bar * ... - Suite Instrument Search * ... - Suite Money Transfer * ... - Suite Ordering * ... - Suite Portfolio Overview * ... - Suite Relation Search * ... - Suite Site Navigation * ...

    When running these tests the following order is executed:

    FrontendTests.SuiteCms.SuiteSetUp (51.683 seconds) FrontendTests.SuiteCms.TestCase249001 (40.106 seconds) FrontendTests.SuiteCms.TestCase249002 (0.281 seconds) FrontendTests.SuiteCms.SuiteTearDown (0.000 seconds) FrontendTests.SuiteEmployeeNavigationBar.SuiteSetUp (21.312 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase078001 (1.094 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase078002 (28.496 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase078003 (5.656 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase078004 (6.140 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase104001 (0.250 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase104002 (0.000 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase104003 (0.719 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase105001 (0.000 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase105002 (10.609 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase106001 (0.000 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase401001 (9.420 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase401002 (1.953 seconds) FrontendTests.SuiteEmployeeNavigationBar.TestCase417001 (0.484 seconds) FrontendTests.SuiteEmployeeNavigationBar.SuiteTearDown (0.000 seconds) BackendTests.SuiteSetUp (0.109 seconds) BackendTests.SuiteInstrumentSearch.TestCase096002 (0.031 seconds) BackendTests.SuiteInstrumentSearch.TestCase096003 (0.016 seconds) BackendTests.SuiteInstrumentSearch.TestCase096004 (0.000 seconds) BackendTests.SuiteInstrumentSearch.TestCase096010 (0.000 seconds) BackendTests.SuiteOrdering.TestCase108002 (0.062 seconds) BackendTests.SuiteOrdering.TestCase108003 (0.047 seconds) BackendTests.SuiteOrdering.TestCase108007 (0.047 seconds) BackendTests.SuiteRelationSearch.TestCase099001 (0.750 seconds) BackendTests.SuiteRelationSearch.TestCase099002 (0.719 seconds) BackendTests.SuiteRelationSearch.TestCase099003 (1.265 seconds) BackendTests.SuiteRelationSearch.TestCase099008 (0.078 seconds) FrontendTests.SuiteInstrumentSearch.SuiteSetUp (19.095 seconds) FrontendTests.SuiteInstrumentSearch.LayoutAndContent.TestCase095001 (0.016 seconds) FrontendTests.SuiteInstrumentSearch.LayoutAndContent.TestCase153001 (5.280 seconds) FrontendTests.SuiteInstrumentSearch.LayoutAndContent.TestCase338001 (0.000 seconds) FrontendTests.SuiteInstrumentSearch.LayoutAndContent.TestCase364001 (1.938 seconds) FrontendTests.SuiteInstrumentSearch.LayoutAndContent.TestCase364004 (6.939 seconds) FrontendTests.SuiteInstrumentSearch.LayoutAndContent.TestCase419005 (2.594 seconds) FrontendTests.SuiteInstrumentSearch.QueryMatching.TestCase096001 (1.453 seconds) FrontendTests.SuiteInstrumentSearch.QueryMatching.TestCase096005 (0.625 seconds) FrontendTests.SuiteInstrumentSearch.QueryMatching.TestCase096006 (0.000 seconds) etc...

    opened by cwortel 22
  • Support

    Support "file:" links with no authority specified (Issue #244)

    Pull request for the patch supplied in Issue #244:

    • src/fitnesse/wiki/fs/FileSystemPageFactory.java, src/fitnesse/responders/editing/SymbolicLinkResponder.java

      Main change.

    • src/fitnesse/wiki/fs/FileSystemPage.java

      Multi-platform correctness, also necessary for passing the tests under Windows.

    • FitNesseRoot/FitNesse/UserGuide/FitNesseWiki/SymbolicLinks/content.txt

      Minor documentation update.

    • The rest are updates to the tests.

    opened by stanio 21
  • fitnesse.org really out-of-date

    fitnesse.org really out-of-date

    The FitNesse homepage is now looking really dated, and the user guide is an old version as well.

    Is there anything stopping updating the site to the latest release?

    opened by benilovj 21
  • Single file page format

    Single file page format

    FitNesse is using a directory (the page name) and two files: content.txt and properties.xml to store a wiki page to disk.

    While this works fine if you're only using FitNesse from the wiki, this structure has some downsides when used from IDE's. Version control is also somewhat more laborious with those many files.

    I'd like to propose a single file format: <page-name>.wiki for a single wiki page.

    Nesting of pages

    ~~I think here the folder should have the page name and it should contain a default file: content.wiki.~~

    Do as Gregor says.

    Page properties

    Page properties (if it's a test page, symlinks, etc.) will be stored in a "front-matter", just like Jekyll does it (https://jekyllrb.com/docs/frontmatter/). So a wiki page, when opened in a text editor, may look like this:

    
    ---
    Edit
    Test
    
    ---
    Page content comes here
    

    To do list:

    • [x] Use old and new style pages interchangeably
    • [x] Parse Front mapper with current wiki parser
    • [x] Create page properties from front matter
    • [x] Create page data
    • [x] Remove pages and sub pages
    • [x] Pages should be listed in the contents section
    • [x] Store new file versions
    • [x] Create (zip) backup files -> support VersionsController interface
    • [x] Use new page format as default for new pages
    opened by amolenaar 20
  • Coding style guidelines

    Coding style guidelines

    What are the exact coding style guidelines? I know about the 2-space indent but some files have 4-spaces or even tabs. I can't figure out the import order of the classes or when to use the *.

    Is it possible the create such guidelines? Maybe it's even possible to create IDE specific configuration files.

    opened by awulder 20
  • Some exceptions don't get indicator/link in tables

    Some exceptions don't get indicator/link in tables

    Spun off #150:

    Not sure how it might be related, but regular exception thrown from the input method doesn't get an indicator/link in the decision table - just the stack trace displayed prior that, however the custom message exception gets shown in the table. Seems like every exception which gets an indicator where it has happened, is doubly counted.

    I've observed the same behavior of not showing indicator for regular exceptions, but for "message exceptions", with script tables, also - for void methods or rows of regular function calls which don't perform symbol assignment, for example.

    May be (just may be) solving this would make more obvious which of the two exception increasing statements mentioned in #150 further, is superfluous.

    opened by stanio 20
  • When -Dslim.timeout of 0 specified (command line or via plugins.properties), receive fitnesse.slim.SlimError on all tests other than those on 1st port in pool

    When -Dslim.timeout of 0 specified (command line or via plugins.properties), receive fitnesse.slim.SlimError on all tests other than those on 1st port in pool

    I've had problems with this since the slim.timeout feature was activated and haven't been able to use releases past Jan 9th, 2015. Finally today to take some time to try and figure out what was happening.

    Basically I don't want the timeout parameter in use because we have a number of long running tests. However when I specify -Dslim.timeout=0 or any other value on the FitNesse command line, all but the first test fails with the error: Could not complete testing: fitnesse.slim.SlimError: Error connecting to SLiM server on localhost:8088

    What I've realized is that it fails on every test except the first port in the pool. So when I run the first test, port 8085 is used and it works. The rest of the tests start incrementing the port though, and even though my slim server comes up on the specified port, FitNesse doesn't appear to recognize it. I assume FitNesse tries to communicate using 8085. If I keep testing until the port loops back to the first in the pool, that test will succeed but then all that follow fail again and it loops back through the pool.

    This only happens if I change the timeout parameter on the command line however. And it doesn't help anything if I add the other parameters to the command line too, such as -slim.port or Dslim.pool.size. If I change the time-out, the port pool feature doesn't seem to work.

    By the way, I'm not using the java slim client, but PowerSlim instead. Also, I'd be happy to try to use a plugins.properties file, but I don't have one currently and not exactly sure how one would look.

    opened by ALuckyGuy 19
  • Ant build fails

    Ant build fails

    Cloning the repo, checkint out master, and running ant produces a failed build.

    I'm running Oracle JDK 8, ant 1.9.4, on Windows 7 (ultimate).

    From experience, is this likely to be environmental?

    I can see a few errors in the test outputs such as: -

    [junit] <span class="error">Could not complete testing: fitnesse.slim.SlimError: Got invalid slim header from client. Read the following: </span>

    junit.framework.AssertionFailedError: The regexp <<td><span class="pass">wow</span></td>> was not found in: HTTP/1.1 200

    opened by MMatten 18
  • Sharing link from test result page actually executes it.

    Sharing link from test result page actually executes it.

    After running a test, we normally share the test with others using the link in browser address bar. This link has the responder ?test and when the other person clicks on this link to view it, it actually executes it instead of just viewing it. This happens too frequently with new members joining a team and sometimes even the experienced members.

    Is there any way to redirect to getPage or latest pageHistory after test run is completed so that the link can still be shared without executing?

    Feature Request 
    opened by suratdas 1
  • Feature to search method/scenario in pages.

    Feature to search method/scenario in pages.

    Over a period of time, there will be a good number of methods/scenario written and used across teams. When it's time to clean-up/refactor those scenario, it's important to know where they are used to assess impact and plan.

    image

    opened by suratdas 4
  • When we change a method name in the code, it should be possible to replace the new method in all existing test pages.

    When we change a method name in the code, it should be possible to replace the new method in all existing test pages.

    After a number of tests already written, if we change a method name in the automaton code, it should be possible to easily modify existing tests with the new methods. It should also retain the existing parameters in the tests.

    There is a replace feature already available in FitNesse, we can enhance it to replace method like below.

    image

    Feature Request 
    opened by suratdas 2
  • [Question] How to add a new node to XML test response?

    [Question] How to add a new node to XML test response?

    ** General Description ** I'd like to add new node to test XML response, because it would be beneficial to our needs. However, I failed to find a corresponding place in code. Could you please, navigate me, how could I implement this? Thanks in advance!

    ** What have you tried? ** I tried to inspect the FitNesse code in order to figure out solution on my own

    opened by pavelkostyurin 1
  • [Question] Can test timestamp be retrieved from Restful `test` method?

    [Question] Can test timestamp be retrieved from Restful `test` method?

    General Description My overall goal is to be able to execute individual tests via the Restful API and then process the response as follows:

    1. Extract summary results (right/wrong/ignored/exceptions)
    2. Create a link to the full HTML test results (e.g. http://host.com:8000/ClientSuites.ClaimsMigrationSuites.LossNoticeMigrator?pageHistory&resultDate=20221108155215)

    This processed response is then stored in a DB. 1 is easily accomplished with a regex. 2 is more difficult as explained next.

    The test results HTML has this timestamp info: image

    If the API response had this timestamp as well, I could easily construct the link to the full HTML results. Alas, the API response does not include this timestamp.

    What have you tried?

    I tried generating a timestamp in my code (Java) just before the call to the FitNesse API but, alas, the code generated timestamp does not reliably correspond to the test timestamp (it seems to differ by 1 second and I'm not confident that's reliable).

    Can someone provide a way to solve this problem?

    opened by roboaks 3
  • FitNesse.org needs a new home.

    FitNesse.org needs a new home.

    I've been hosting fitnesse.org for twenty years or so; but the time is coming when this should change. I suggest that the contents of fitnesse.org be moved to a github static website. Also, at some point, fitnesse deserves it's own github account.

    Feature Request 
    opened by unclebob 14
Releases(20221219)
  • 20221219(Dec 19, 2022)

    What's Changed

    • Added Ignore functionality to Script Table by @eireglas in https://github.com/unclebob/fitnesse/pull/1350
    • Add '-w workers' command line option. by @abascom in https://github.com/unclebob/fitnesse/pull/1395
    • change publisher responder to use Apache Velocity by @jediwhale in https://github.com/unclebob/fitnesse/pull/1398
    • Publish copy of FrontPage as index.html #1387 by @jediwhale in https://github.com/unclebob/fitnesse/pull/1401

    New Contributors

    • @eireglas made their first contribution in https://github.com/unclebob/fitnesse/pull/1350
    • @abascom made their first contribution in https://github.com/unclebob/fitnesse/pull/1395

    Full Changelog: https://github.com/unclebob/fitnesse/compare/20221102...20221219

    Source code(tar.gz)
    Source code(zip)
  • 20221102(Nov 9, 2022)

    What's Changed

    • Markup system plugins by @jediwhale in https://github.com/unclebob/fitnesse/pull/1382
    • update release notes by @jediwhale in https://github.com/unclebob/fitnesse/pull/1383
    • fix html unescaping #1384 by @jediwhale in https://github.com/unclebob/fitnesse/pull/1385
    • Slim decision table unescapes input cells in test results #1388 by @jediwhale in https://github.com/unclebob/fitnesse/pull/1389
    • fix typo #1388 by @jediwhale in https://github.com/unclebob/fitnesse/pull/1390
    • Publish FitNesse site to static html files #1387 by @jediwhale in https://github.com/unclebob/fitnesse/pull/1392
    • Documentation for publishing HTML #1387 by @jediwhale in https://github.com/unclebob/fitnesse/pull/1393
    • Publish unit test result by @suratdas in https://github.com/unclebob/fitnesse/pull/1391
    • commons-text 1.10.0 - addresses CVE-2022-42889 by @hartmut-co-uk in https://github.com/unclebob/fitnesse/pull/1394

    New Contributors

    • @hartmut-co-uk made their first contribution in https://github.com/unclebob/fitnesse/pull/1394

    Full Changelog: https://github.com/unclebob/fitnesse/compare/20220815...20221102

    Source code(tar.gz)
    Source code(zip)
    fitnesse-standalone.jar(5.00 MB)
  • 20220815(Nov 23, 2022)

    What's Changed

    • Fix issues with !include and variables in page name by @jediwhale in https://github.com/unclebob/fitnesse/pull/1359
    • Search string is not escaped in search page title by @jediwhale in https://github.com/unclebob/fitnesse/pull/1360
    • Documentation updates by @jediwhale in https://github.com/unclebob/fitnesse/pull/1361
    • Adds new responder by @pwszpl in https://github.com/unclebob/fitnesse/pull/1355
    • A couple of fixes by @jediwhale in https://github.com/unclebob/fitnesse/pull/1363
    • documentation update by @jediwhale in https://github.com/unclebob/fitnesse/pull/1364
    • make anchor tags non self-closing by @djbrown in https://github.com/unclebob/fitnesse/pull/1366
    • fix format of preformat examples by @djbrown in https://github.com/unclebob/fitnesse/pull/1370
    • fix download link by @djbrown in https://github.com/unclebob/fitnesse/pull/1369
    • allow base64 data url images by @djbrown in https://github.com/unclebob/fitnesse/pull/1367
    • Performance improvements by @jediwhale in https://github.com/unclebob/fitnesse/pull/1374
    • More performance improvements by @jediwhale in https://github.com/unclebob/fitnesse/pull/1376
    • Gradle update to 7.5.1 by @fhoeben in https://github.com/unclebob/fitnesse/pull/1380

    New Contributors

    • @djbrown made their first contribution in https://github.com/unclebob/fitnesse/pull/1366

    Full Changelog: https://github.com/unclebob/fitnesse/compare/20220319...20220815

    Source code(tar.gz)
    Source code(zip)
    fitnesse-standalone.jar(4.97 MB)
  • 20220319(Nov 24, 2022)

    What's Changed

    • Unequal partitioning through partitioning file by @suratdas in https://github.com/unclebob/fitnesse/pull/1343
    • Update default new suite page content by @suratdas in https://github.com/unclebob/fitnesse/pull/1344
    • !define crashes when missing opening delimiter by @jediwhale in https://github.com/unclebob/fitnesse/pull/1346
    • Allow usage of variables inside include statement by @pwszpl in https://github.com/unclebob/fitnesse/pull/1353
    • Instruction responder by @jediwhale in https://github.com/unclebob/fitnesse/pull/1356
    • Add GitHub action to build/test FitNesse automatically by @fhoeben in https://github.com/unclebob/fitnesse/pull/1358

    Full Changelog: https://github.com/unclebob/fitnesse/compare/20211030...20220319

    Source code(tar.gz)
    Source code(zip)
    fitnesse-standalone.jar(4.95 MB)
  • 20211030(Nov 24, 2022)

  • 20211006(Nov 24, 2022)

    What's Changed

    • Report tests with ExecutionResult IGNORED as Ignored to Junit by @tcnh in https://github.com/unclebob/fitnesse/pull/1327
    • Update of JUnitRunNotifierResultsListenerTest by @tcnh in https://github.com/unclebob/fitnesse/pull/1336
    • hide slim symbol values prefixed with SECRET_ on the slim runner side by @tcnh in https://github.com/unclebob/fitnesse/pull/1333

    Full Changelog: https://github.com/unclebob/fitnesse/compare/20210606...20211006

    Source code(tar.gz)
    Source code(zip)
    fitnesse-standalone.jar(4.94 MB)
Owner
Robert C. Martin
Uncle Bob. Author of Clean Code.
Robert C. Martin
JUnit 5 Parameterized Test Yaml Test Data Source

Yamaledt — JUnit 5 Parameterized Tests Using Yaml and Jamal Introduction and usage Note This is the latest development documentation. This is a SNAPSH

Peter Verhas 4 Mar 23, 2022
Test Automation Made Simple

Karate Test Automation Made Simple. Karate is the only open-source tool to combine API test-automation, mocks, performance-testing and even UI automat

Intuit 6.5k Dec 28, 2022
A library for setting up Java objects as test data.

Beanmother Beanmother helps to create various objects, simple and complex, super easily with fixtures for testing. It encourages developers to write m

Jaehyun Shin 113 Nov 7, 2022
A Java architecture test library, to specify and assert architecture rules in plain Java

ArchUnit is a free, simple and extensible library for checking the architecture of your Java code. That is, ArchUnit can check dependencies between pa

TNG Technology Consulting GmbH 2.5k Jan 2, 2023
Test if a request/response matches a given raml definition

raml-tester Test if a request/response matches a given raml definition. Versioning Version Contents 0.8.x Stable version, uses RAML parser 0.8.x and s

Stefan Niederhauser 71 Mar 21, 2022
PowerMock is a Java framework that allows you to unit test code normally regarded as untestable.

Writing unit tests can be hard and sometimes good design has to be sacrificed for the sole purpose of testability. Often testability corresponds to go

PowerMock 3.9k Dec 28, 2022
PowerMock is a Java framework that allows you to unit test code normally regarded as untestable.

Writing unit tests can be hard and sometimes good design has to be sacrificed for the sole purpose of testability. Often testability corresponds to go

PowerMock 3.9k Dec 28, 2022
Enabling Test Automation in Java

SeLion Enabling Test Automation in Java SeLion builds on top of TestNG and Selenium to provide a set of capabilities that get you up and running with

PayPal 268 Dec 11, 2022
Arbitrary test data generator for parameterized tests in Java inspired by AutoFixture.

AutoParams AutoParams is an arbitrary test data generator for parameterized tests in Java inspired by AutoFixture. Sometimes setting all the test data

null 260 Jan 2, 2023
A simple yet powerful parameterized test runner for Java.

TestParameterInjector Introduction TestParameterInjector is a JUnit4 test runner that runs its test methods for different combinations of field/parame

Google 324 Dec 30, 2022
Extensions/Plugins for JVM test frameworks

Jexter Extensions/Plugins for JVM test frameworks (JUnit 4, JUnit 5, ...) Get Jexter Binaries are available from Maven Central. Group Artifact Latest

Thundra 20 Jul 26, 2022
Let Fixture Monkey generate test instances including edge cases automatically

Fixture Monkey is designed to generate controllable arbitrary instances easily. It allows you to reuse same configurations of the instances in several tests.

NAVER 247 Jan 9, 2023
Never debug a test again: Detailed failure reports and hassle free assertions for Java tests - Power Asserts for Java

Scott Test Reporter for Maven and Gradle Get extremely detailed failure messages for your tests without assertion libraries, additional configuration

Dávid Csákvári 133 Nov 17, 2022
A BDD-style test runner for Java 8. Inspired by Jasmine, RSpec, and Cucumber.

Spectrum A colorful BDD-style test runner for Java Spectrum is inspired by the behavior-driven testing frameworks Jasmine and RSpec, bringing their ex

Greg Haskins 143 Nov 22, 2022
Gatling is a load test tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS.

Gatling What is Gatling ? Gatling is a load test tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS. Motivation Finding fancy GU

Gatling 5.8k Dec 27, 2022
Test Automation Made Simple

Karate Test Automation Made Simple. Karate is the only open-source tool to combine API test-automation, mocks, performance-testing and even UI automat

Karate Labs 6.5k Dec 31, 2022
Apache JMeter - An Open Source Java application designed to measure performance and load test applications

An Open Source Java application designed to measure performance and load test applications. By The Apache Software Foundation What Is It? Apache JMete

The Apache Software Foundation 6.7k Jan 1, 2023
Ellume COVID Test Research Files

Ellume-COVID-Test-Research-Files Files related to the Ellume COVID Test Research documented

F-Secure LABS 11 Aug 25, 2022