Skip to content

Arjuna 1.0.0

Compare
Choose a tag to compare
@rahul-verma rahul-verma released this 12 May 06:09

This is the first production ready of Arjuna. Following are the changes since last release:

  • New CLI switches -ip, -ep for package based selection added.
  • Support for ir (inclusion rules) and er (exclusion rules)
    • Exclusion rules are evaluated. If a test function meets any of the rules, it is removed from collection.
    • If the test function meeting any of the inclusion rules, it is included in the collection.
    • --rule changed to -ir and -er to add provision for include and exclude rules via CLI. Used for magic group creation.
    • ir and er sections can be added in a group definition in groups.yaml file.
    • Internally, the ip/ep/im/em/it/et are converted to to ir/er rules. This means Arjuna is not using pytest markers for test selection. All selection is done based on Arjuna rule set.
    • There is an AND condition between package, module and test rules.
    • PytestHooks.select_tests hook created to select tests based on Arjuna rules. Called in pytest_collection_modifyitems pytest hook in conftest.py.
    • Rules are also supported for user defined attributes.
  • New symbols for rule creation:
    • For string targets: !~= for does not match and !*= does not partially match.
  • Arjuna built-in group fixture is now a default fixture. Group information is directly available in request.group. request.group.space can be used to store any objects.
  • GuiApp's GuiNamespace acts a common namespace across pages, sections and dialogs.
  • All run options work with the rule-based approach.
  • Support for minimalist project structure for simple use of Arjuna.
  • Test Fixtures --> Referred as Test Resources. Have an option setting as default using default keyword argument.
  • Support for xfail and skip keyword arguments in @test decorator. xfail() and skip() helper functions added.
  • New Exceptions:
    • TestDecoratorError
    • TestSessionsFileNotFoundError
    • TestStagesFileNotFoundError
    • TestGroupsFileNotFoundError
  • Test function default info, tags, bugs, envs get created for inquiry using request.
  • Fix in updating options from non-default env entry in envs.yaml.
  • Fix to allow a user option name as an Enum constant.
  • Fix in auto screenshot in case of failure in HTML report.
  • Docs added for:
    • Test Functions
    • Test Resources
    • Test Sessions, Stages and Groups
  • PytestHooks made a private API.