TODO:
- Make Expectable toThrow methods work with arguments, class methods, static class methods, and possibly constructors/destructors.
- Report all errors at the end instead of printing them inline. This is needed for parallel support.
- Figure out how to make JTest self testing. Maybe use some namespace magic to run a special instance in another namespace.
- Mocks
- Design them.
- Add them.
- Spies
- Design them.
- Add them.
- Expectable
- Clean up failure messages in Expectable.
- Make failure messages in Expectable only use ostreams if operator<< is defined for T.
- Pick a name for Expectable::not()
- DescribeOptions
- Add operator<< and print for DescribeOptions
- JTest
- Make it and xit return a Test instead of a TestBundle
- Make describe and xdescribe take a variant of Test or TestBundle instead of just TestBundle
- Make TestOptions useful
- Find a way to set label/path from it/xit/describe/xdescribe instead of when we execute them.
- If executing a disabled bundle report all of it's child tests as skipped/disabled.
- Execute tests in parallel.
- Recheck that bundles/tests inherit before/after methods from their parents.
- Before* of parents should be called before that of children.
- After* of parents should be called after that of children.
- When reporting Unhandled exceptions in tests, report the fully qualified test name and label.
- TestResults
- Add commented out vectors to hold skipped, failed, errored test info.
- FailedExpectation
- Figure out a way to get label and path when creating the expectation from an Expect method.
- We need to get the label and path from the parent method (execute) that is calling expect(T) to create the Expectable.
- We will likely be creating the FailedExpectation exception where the test fails and adding the label and path when we catch it before reporting the failure.
- Figure out a way to get label and path when creating the expectation from an Expect method.
Description
Languages
C++
96.6%
Makefile
3.4%