Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

Allure Ruby Adaptor API

Yard Docs

This is a helper library containing the basics for any ruby-based Allure adaptor. Using it you can easily implement the adaptor for your favorite ruby testing library or you can just create the report of any other kind using the basic Allure terms.

Setup

Add the dependency to your Gemfile

 gem "allure-ruby-commons"

Configuration

Following configuration options are supported:

    Allure.configure do |config|
      config.results_directory = "/whatever/you/like"
      config.clean_results_directory = true
      config.logging_level = Logger::INFO
      # these are used for creating links to bugs or test cases where {} is replaced with keys of relevant items
      config.link_tms_pattern = "http://www.jira.com/browse/{}"
      config.link_issue_pattern = "http://www.jira.com/browse/{}"
    end

Getting the configuration object:

Allure.configuration

Log level

Log level can be also configured via environment variable ALLURE_LOG_LEVEL which accepts one of the following values: DEBUG INFO WARN ERROR FATAL UNKNOWN.

Allure lifecycle

Reports are built using API defined in AllureLifecycle class and using allure specific entities defined in models. Example of building a simple test case can be seen in integration spec.

Convenience method Allure.lifecycle exists for getting thread specific allure lifecycle instance.

Additional methods in Allure exist to add various custom attributes to test report.

Allure.add_attachment(name: "attachment", source: "Some string", type: Allure::ContentType::TXT, test_case: false)
Allure.add_attachment(name: "attachment", source: "/path/to/test.txt", type: Allure::ContentType::TXT, test_case: false)
Allure.add_link(name: "Custom Url", url: "http://www.github.com")

Steps

It is possible to mark method definitions to be automatically added to report as steps. The class just needs to extend AllureStepAnnotation and step method needs to be used before the method definition.

class TestHelper
  extend AllureStepAnnotation

  step("Singleton step")
  def self.class_method; end

  step("Standard step")
  def standard_method; end
end

Testing

Install dependencies:

bundle install

Run tests:

bundle exec rspec

Building

gem build allure-ruby-commons.gemspec