Testing
Testing follows a similar pattern to that in Javascript. A test in Crystal takes the following form:
describe ClassName do
it "description of what it should do" do
.... {expected behaviour}
end
endNaming test files
Filenames for test files should typically follow the format {class}_spec.cr. You can run all of your tests from the root folder of the project by running
crystal specbut files that don't contain _spec in the name won't be included.
should
shouldsomeValue.should expectationshould allows us to make assertions in a test. The expectation part of this is used to check a particular property of someValue. Crystal has several expectation methods, for example eq:
myNumber.should eq(5)this assertion will be true when myNumber == 5
Last updated
Was this helpful?