Skip to content

Latest commit

 

History

History
82 lines (64 loc) · 1.36 KB

testing.md

File metadata and controls

82 lines (64 loc) · 1.36 KB

Testing Functions

fn has testing built in that allows you to create inputs and expected outputs and verify the expected output with actual output.

Write a Test File

Create a file called test.json in your functions directory (beside your func.yaml file). Here's a simple example:

{
    "tests": [
        {
            "input": {
                "body": {
                    "name": "Johnny"
                }
            },
            "output": {
                "body": {
                    "message": "Hello Johnny"
                }
            }
        },
        {
            "input": {
                "body": ""
            },
            "output": {
                "body": {
                    "message": "Hello World"
                }
            }
        }
    ]
}

The example above has two tests, one with the following input:

{
    "name": "Johnny"
}

and a second one with no input.

The first one is expected to return a json response with the following:

{
    "message": "Hello Johnny"
}

And the second should return:

{
    "message": "Hello World"
}

Run Tests

In your function directory, run:

fn test

You can also test against a remote fn server by using the --remote flag. eg:

fn test --remote myapp

To test your entire Fn application:

fn test --all