Skip to content

Stop including full Aruba API in Cucumber World or RSpec spec class #694

@mvz

Description

@mvz

Summary

Aruba exposes a large set of API methods into the test environment. It would be cleaner to access these through a dedicated object.

Expected Behavior

Something like:

  it "has some behavior" do
    aruba.write_file("foo.txt")
    aruba.run_command_and_stop("bar foo.txt")
    # ...
  end

Current Behavior

  it "has some behavior" do
    write_file("foo.txt")
    run_command_and_stop("bar foo.txt")
    # ...
  end

Possible Solution

This needs to be changed in several steps:

  1. Create object that provides these methods.
  2. Implement currently exposed methods in terms of this object.
  3. Deprecate direct use of exposed methods.
  4. Remove exposed methods.

Context & Motivation

Aruba's API is massive and testing it clearly is difficult because the methods are exposed to Aruba's specs as well. Also, exposing these through a real object makes it clearer for end users to see where the methods they call come from.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions