0.4.0 • Published 4 years ago

comest v0.4.0

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

comest

Small and lightweight cli-testing framework.

Installation

You can run comest without installing it by using npx:

npx comest

Or you can install it by running:

npm i -g comest

# use it by typing
comest

Usage

Create test files matching *.test.yml like myFile.test.yml in a folder test.

Basic example

This test run the command echo foo and checks 'yo' has been printed on stdout.

name: Simple echo test
command: echo foo
expect:
  status: 0
  stdout: foo

This test run the command echo foo && exit 42 and checks 'yo' has been printed on stdout and return value is 42.

name: Simple echo test
command: echo foo && exit 42
expect:
  status: 42
  stdout: foo

With files

This test will create a tmp file containing "Lorem ipsum" and will replace {file1} with the absolute path of the tmp file ni the command, and execute it. It will then compare the result of the command with the things in expect.

name: Print file content
command: cat {file1}
assets:
  - type: file
    name: file1
    content: Lorem ipsum
expect:
  status: 0
  stdout: Lorem ipsum

This test will fail because the expectation is different

name: Print file content
command: cat {file1}
assets:
  - type: file
    name: file1
    content: Lorem ipsum
expect:
  status: 0
  stdout: dolor sit amet

Multiline

According to the YAML specification, I suggest using |- for multiline (as it keep line break but not the last one).

name: Print my C file content
command: cat {file1}
assets:
  - type: file
    name: file1
    content: |-
        int main () {
            return 56;
        }
expect:
  status: 0
  stdout: |-
      int main () {
          return 56;
      }

Multi steps

name: Steps demo
assets:
  - type: file
    name: file1
steps:
  - command: echo "foo" > {file1}
    expect:
      status: 0
  - command: echo "bar" >> {file1}
  - command: cat {file1}
    expect:
      status: 0
      stdout: |-
        foo
        bar
0.4.0

4 years ago

0.3.0

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.2.0

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago