Skip to content

gdonald/BDD-Behave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

210 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Behave

A behavior-driven testing framework written in Raku.

Currently developed against Raku v6.d.

Install using zef

zef install BDD::Behave

Running Behave

If no file is specified, Behave looks for a specs/ directory and runs every file in it whose name matches *spec.raku.

An example

specs/answer-spec.raku

use BDD::Behave;

describe 'this spec', {
  let(:answer, { 42 });

  it 'passes', {
    expect(:answer).to.be(42);
  }
}

describe 'this final spec', {
  let(:answer, { 42 });

  it 'fails at line 15', {
    expect(:answer).to.be(41);
  }
}

You can run the spec like this:

behave --format=tree specs/answer-spec.raku

Output:

⮑ 'this spec'
  ⮑ 'passes'
    ⮑ SUCCESS
⮑ 'this final spec'
  ⮑ 'fails at line 15'
    ⮑ FAILURE

Failures:

  [ ✗ ] /path/to/project/specs/answer-spec.raku:15
      this final spec fails at line 15
      Expected: 42
      to be: 41

2 examples, 1 failed, 1 passed
Randomized with seed 581808742

Local Behave development

For local development of Behave itself:

raku -Ilib bin/behave

Tests

To run the full test suite (both t/ and specs/):

raku test.raku

To run just the t/ tests:

prove6 -Ilib t

Status

CI

Documentation

Documentation: https://docs.behave.dev

See also the examples in specs/*.

Homepage

https://behave.dev

License

Copyright (c) 2019-2026 Greg Donald

This software is licensed under the Artistic License 2.0.

GitHub

About

Behavior-driven testing framework for Raku

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages