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.
Add the dependency to your Gemfile
gem "allure-ruby-commons"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/{}"
endGetting the configuration object:
Allure.configurationLog level can be also configured via environment variable ALLURE_LOG_LEVEL which accepts one of the following values: DEBUG INFO WARN ERROR FATAL UNKNOWN.
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")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
endInstall dependencies:
bundle installRun tests:
bundle exec rspecgem build allure-ruby-commons.gemspec