Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
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 = "report/allure-results"
config.clean_results_directory = true
config.logging_level = Logger::INFO
config.logger = Logger.new($stdout, Logger::DEBUG)
config.environment = "staging"
# 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/{}"
# additional metadata
# environment.properties
config.environment_properties = {
custom_attribute: "foo"
}
# categories.json
config.categories = File.new("my_custom_categories.json")
end
Getting the configuration object:
Allure.configuration
It is possible to set up custom allure environment which will be used as custom parameter environment
in every test case. This is useful if you run same tests on different environments and generate single report. This way different runs are not put as retry. Environment can be configured in following ways:
ALLURE_ENVIRONMENT
environment variableconfigure
methodTo add additional environment information to the report it is possible to set configuration property environment_properties
.
Option can be set to hash or block returning a hash:
# hash
config.environment_properties = {
custom_attribute: "foo"
}
# lambda
config.environment_properties = -> { { custom_attributes: "foo"} }
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
.
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
end
Internally, allure-ruby-common produces JSON files. To improve performance, oj gem is used for parsing and generating JSON files if it is available. Otherwise default ruby json implementation is used.
FAQs
Unknown package
We found that allure-ruby-commons demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.