All Projects → MechanicalRabbit → NarrativeTest.jl

MechanicalRabbit / NarrativeTest.jl

Licence: MIT license
Julia library for functional testing.

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to NarrativeTest.jl

eat
Json based scenario testing tool(which can have test for functional and non-functional)
Stars: ✭ 41 (+127.78%)
Mutual labels:  functional-testing
blackdoc
run black on documentation code snippets
Stars: ✭ 31 (+72.22%)
Mutual labels:  doctest
clearth
Test automation tool for Clearing, Settlement and Back-Office Systems
Stars: ✭ 26 (+44.44%)
Mutual labels:  functional-testing
elm-doctest
doctest runner against Elm-lang source files
Stars: ✭ 13 (-27.78%)
Mutual labels:  doctest
Doctest
The fastest feature-rich C++11/14/17/20 single-header testing framework
Stars: ✭ 3,568 (+19722.22%)
Mutual labels:  doctest
catch-lest-other-comparison
Tabularised feature comparison between Catch, doctest and lest C++ test frameworks
Stars: ✭ 20 (+11.11%)
Mutual labels:  doctest
cpp14-project-template
A simple, cross-platform, and continuously integrated C++14 project template
Stars: ✭ 64 (+255.56%)
Mutual labels:  doctest
power-doctest
JavaScript Doctest for JavaScript, Markdown and Asciidoc.
Stars: ✭ 45 (+150%)
Mutual labels:  doctest
continuous-integration-with-python
How to test your python code. How to automatically run your tests for your Python code. How to get reports of the tests coverage
Stars: ✭ 25 (+38.89%)
Mutual labels:  doctest
doctest
The fastest feature-rich C++11/14/17/20 single-header testing framework
Stars: ✭ 4,434 (+24533.33%)
Mutual labels:  doctest
Testcafe
A Node.js tool to automate end-to-end web testing.
Stars: ✭ 9,176 (+50877.78%)
Mutual labels:  functional-testing
github-run-tests-action
mabl Github Actions implementation
Stars: ✭ 39 (+116.67%)
Mutual labels:  functional-testing
android-espresso-dagger-testing
Sample application that shows how Dagger can be used to substitute dependencies with test doubles in Espresso tests to have robust and reliable functional tests.
Stars: ✭ 43 (+138.89%)
Mutual labels:  functional-testing
alexa-conversation
Framework to easily test your Alexa skills functionally by creating a conversation with your skill.
Stars: ✭ 51 (+183.33%)
Mutual labels:  functional-testing
FluentAssertions.Web
FluentAssertions for HTTP APIs
Stars: ✭ 71 (+294.44%)
Mutual labels:  functional-testing
lex-bot-tester
AWS Lex Bot Tester
Stars: ✭ 16 (-11.11%)
Mutual labels:  functional-testing
consensusj
Cryptocurrency components for JVM & Android (JSON client & server support, services, DSL, CLI)
Stars: ✭ 76 (+322.22%)
Mutual labels:  functional-testing
test-automation-bootstrap
A simple and effective boilerplate repo to quickstart test automation frameworks ✨
Stars: ✭ 42 (+133.33%)
Mutual labels:  functional-testing

NarrativeTest.jl

NarrativeTest is a Julia library for functional testing, which lets you write the test suite in the narrative form. It permits you to describe the behavior of software components in the Markdown format, and then extract, execute, and validate any embedded test code.

Build Status Code Coverage Status Open Issues Documentation MIT License

Quick Start

Install the package using the Julia package manager:

julia> using Pkg
julia> Pkg.add("NarrativeTest")

Add NarrativeTest to your package as a test-specific dependency. Then create the following test/runtests.jl:

using NarrativeTest
NarrativeTest.runtests()

If you are already relying on the standard Test library, you can add NarrativeTest as a nested test set:

using Test, NarrativeTest

@testset "MyPackage" begin
    …
    NarrativeTest.testset()
    …
end

Write the test suite in Markdown and save it in the test directory. Place the test code in Markdown code blocks, and use comments #-> … and #=> … =# to indicate the expected output. For example:

# Sample test suite

Verify that the expression evaluates to the expected value:

    6(3+4)          #-> 42

Check if the code produces the expected output:

    print("Hello ")
    print("World!")
    #-> Hello World!

Abbreviate the output with ellipsis:

    collect('a':'z')
    #-> ['a', 'b', …, 'z']

    display(collect('a':'z'))
    #=>
    26-element Array{Char,1}:
     'a'
     'b'
     ⋮
     'z'
    =#

To test your package, run:

$ julia ./test/runtests.jl

For more information, see the Documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].