specunit - BDD-style extension for unit testing frameworks

  •        66

A simple BDD-style extension for unit testing frameworks.




Related Projects

just-api - Easy and Flexible API Testing

  •    Javascript

Just-API is a declarative, specification based test framework for REST, GraphQL APIs. Users can test APIs without writing code, but they can also tap into code when they want to. It reads API test specification from YAML files and runs them in serial/parallel mode. Test reports can be generated in several formats including HTML and JSON. To run just-api, you will need Node.js v7.10.0 or newer.

FsCheck - Random Testing for .NET

  •    F#

FsCheck is a tool for testing .NET programs automatically. The programmer provides a specification of the program, in the form of properties which functions, methods or objects should satisfy, and FsCheck then tests that the properties hold in a large number of randomly generated cases. While writing the properties, you are actually writing a testable specification of your program. Specifications are expressed in F#, C# or VB, using combinators defined in the FsCheck library. FsCheck provides combinators to define properties, observe the distribution of test data, and define test data generators. When a property fails, FsCheck automatically displays a minimal counter example.FsCheck is a port of Haskell's QuickCheck. Important parts of the manual for using FsCheck is almost literally adapted from the QuickCheck manual. Any errors and omissions are entirely my responsibility.

Unit Test Specification Generator


Create a specification document for unit test assemblies. Test docs makes it easier for developers and testers to verify completeness of components by extracting the unit tests in a component and formatting them to be more comprehensible.

Pytest: testing and evaluation framework

  •    Javascript

Pytest is an open source testing and evaluation framework written in Python. It is compliant with IMS Global Learning Consortium, Inc. QTI specification and can be used as a tests editor or as a server for creating a networked testing framework.

abao - REST API automated testing tool based on RAML

  •    CoffeeScript

Abao is a command-line tool for testing API documentation written in RAML format against its back-end implementation. With Abao, you can easily plug your API documentation into a Continuous Integration (CI) system (e.g., Travis, Jenkins) and have API documentation up-to-date, all the time. Abao uses Mocha for judging if a particular API response is valid or not. This version of the software only supports the RAML-0.8 specification.

proctor - Proctor is a Java-based A/B testing framework.

  •    Java

Proctor is a A/B testing framework written in Java that enables data-driven product design at Indeed. Proctor consists of data-model, client specification, client loader, matrix builder, java code generator.

Expect framework


Expect is a framework for writing tests in natural language (including BDD style) and as executable specifications. It integrates with your unit test framework and with VisualStudio, in order to provide a smooth development workflow.

Fluent NHibernate - Fluent mapping for model

  •    CSharp

Fluent, XML-less, compile safe, automated, convention-based mappings for NHibernate. Fluent NHibernate offers an alternative to NHibernate's standard XML mapping files. Rather than writing XML documents, you write mappings in strongly typed C# code. This allows for easy refactoring, improved readability and more concise code.

godog - Cucumber for golang

  •    Go

Please read all the README, you may find it very useful. And do not forget to peek into the CHANGELOG from time to time.Package godog is the official Cucumber BDD framework for Golang, it merges specification and test documentation into one cohesive whole. The author is a core member of cucumber team.

javaee-spec - Java EE Platform Specification

  •    HTML

This is the project for the Java EE Platform specification. The Java EE Platform specification is the umbrella specification that defines the Java EE platform. The platform specification doesn't define the Java EE APIs directly, but rather includes them by reference to other Java specifications and defines how they all fit together in the overall Java EE platform. The platform specification also defines other attributes of the platform such as security, deployment, transactions, and interoperability.The Specifications page contains links to the project pages for other Java EE specifications.

connexion - Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support

  •    Python

Connexion is a framework on top of Flask that automagically handles HTTP requests based on OpenAPI 2.0 Specification (formerly known as Swagger Spec) of your API described in YAML format. Connexion allows you to write a Swagger specification, then maps the endpoints to your Python functions; this makes it unique, as many tools generate the specification based on your Python code. You can describe your REST API in as much detail as you want; then Connexion guarantees that it will work as you specified.With Connexion, you write the spec first. Connexion then calls your Python code, handling the mapping from the specification to the code. This incentivizes you to write the specification so that all of your developers can understand what your API does, even before you write a single line of code.

Alibaba-Java-Coding-Guidelines - Gitbook for AJCG


We are pleased to present Alibaba Java Coding Guidelines, which consolidates the best programming practices over the years from Alibaba Group's technical teams. A vast number of Java programming teams impose demanding requirements on code quality across projects as we encourage reuse and better understanding of each other's programs. We have seen many programming problems in the past. For example, defective database table structures and index designs may cause software architecture flaws and performance risks. Yet as another example, confusing code structures make it difficult to maintain. Furthermore, vulnerable code without authentication is prone to hackers’ attacks. To address those kinds of problems, we developed this document for Java developers in Alibaba.This document is consisted of five parts: Programming Specification, Exception and Logs, MySQL Specification, Project Specification and Security Specification. Based on the severity of the concerns, each specification is classified into three levels: Mandatory, Recommended and Reference. Further clarification is expressed in: (1) "Description", which explains the content; (2) "Positive examples", which describe recommended coding and implementation approaches; (3) "Counter examples", which describe precautions and actual error cases.


  •    Java

MyFaces is a family of projects related to the JavaServer Faces (JSF) specification published as part of the Java Community Process. The "core" project is an implementation of that specification. Other MyFaces projects implement related specifications (eg the Portlet Bridge), or add features to any JSF implementation (not just the Myfaces Core).

specification - A place to document (and discuss) the OpenTracing specification


OpenTracing Specification Official Website: http://opentracing.io/spec. The opentracing/specification repository is a place to document (and discuss) the OpenTracing specification itself (independent of any particular language or platform).

apispec - A pluggable API specification generator

  •    Python

A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification). Documentation is available at http://apispec.readthedocs.io/ .


  •    Python

Behavior Driven Development Framework for Python. PySpec has following specialty. * Many kind of verification methods. * More concrete error messages. * Use decorators to define spec. * Data driven test(@data_provider). * Mock Objects included. * CUI & GUI spec runner(wxPython)

Java Modeling Language (JML)

  •    Java

The Java Modeling Language (JML) is a behavioral interface specification language that can be used to specify the behavior of Java modules (as in design by contract -- DBC). It has many tools to do assertion checking, unit testing, etc.


  •    Java

JCheck is a testing tool for Java similar to QuickCheck for Haskell. The programmer provides a specification which then is tested using a large number of random test cases. JCheck integrates with JUnit making it easy to mix with usual unit tests.


  •    CSharp

Systin stands for System Testing in .Net. This is a port of the popular Systir program. Systin will allow for an abstraction of Test Case specification and Test Case automation execution.

livestreaming-js - HTTP Live Streaming, for node.js

  •    C

A complete system for producing and serving content conforming to the HTTP Live Streaming specification, built on Node. Note that this project is currently in a prototype stage. In particular, improvements to error handling and testing should be made before using this in any serious capacity. Furthermore, to improve resilience to failure, queues should be used to pass messages between separate processes for each stage in the workflow.