Mocking library for Racket
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
arguments
mock-rackunit
mock
.gitignore
.travis.yml
LICENSE
README.md

README.md

racket-mock Build Status codecov Stories in Ready

Mocks for Racket testing.

raco pkg install mock
raco pkg install mock-rackunit # RackUnit integration

Documentation: mock, mock-rackunit

This library defines mocks, which are "fake" implementations of functions that record calls made to them. Two separate packages are provided, the main package mock and the RackUnit checks package mock-rackunit. In standard uses, the mock-rackunit dependency is needed only for test code. For a thorough introduction, see The Mock Guide. For a full API reference, see The Mock Reference.

Example:

(require mock mock/rackunit)

(define/mock (foo)
  ; in test, don't call the real bar
  #:mock bar #:as bar-mock #:with-behavior (const "wow!")
  (bar))

(define (bar) "bam!")

(foo) ; "bam!"

(with-mocks foo
  (foo) ; "wow!"
  (check-mock-num-calls 1 bar-mock))