NarrativeTest.jl

Julia library for functional testing.
Author MechanicalRabbit
Popularity
19 Stars
Updated Last
4 Months Ago
Started In
October 2017

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.