Code Monkey home page Code Monkey logo

otest2's People

Contributors

dependabot[bot] avatar staon avatar

Watchers

 avatar  avatar

otest2's Issues

Repeated Invocation of a Suite or a Case

Allow repeated run of a suite or test case.

Proposal:
If a fixture variable derives from a special interface, the framework will repeat the test object until the fixture says stop. The fixture object will survive resurrection of the test object, hence it will able to keep the status of repeating.

Better API for Assertion Implementation

Currently the API for assertion functions allows just to add generic text messages. Design and implement a new API which allows more rich manipulations with the output. E.g. coloring of the output useful for assertions printing differences between texts.

Relaxed data model

Remove constraints in the data model:

  • a testcase may be standalone with no wrapping in a suite
  • suites may be nested

The parser, generator and reporters must be fixed.

Tags

A possibility to define user tags of test suites and cases. And a possibility to run tests with selected tags.

Proposal:

  • an annotation allowing tagging of a test object
  • a command line option

Assertion function parsing specified expression

As the boost test or catch2 frameworks do, implement an assertion function which parses the relation expression and allows to print left and right operand separately.

Because the OTest2 uses the libclang library the functionality may be implemented in much more clear way than prepending of the ->* operator and stealing the left operand.

Test Mark Storage Tool

A tool for management of the test mark storage:

  • deletion of a mark,
  • comparing of current and stored mark,
  • storing of current marks.

Test Sections

Sections inside test cases which causes repeated invocation of the case. Hence, the same initialization code may be shared by several runs.

Fixture Object

Custom objects with special initialization/destruction during the start-up/tear-down phases of their parent test object.

Test Objects

Implement a feature which allows to create a custom class which allows usage of assertion and control functions inside its methods.

Typed User Data

A possibility to pass custom data from the main function to test cases and the start-up/tear-down functions.

Proposal:
The DSL will allow to add parameters to the functions (test states and the start-up/tear-down functions). The otest2 pre-processor will generate a code which grabs the user data from an object placed in the otest2 context and passes them correctly typed into the function.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.