...supports a few helpers for development. In case you notice errors in your Cucumber tests, you might want to use one of them to better understand the underlying background of...

...s README, but is duplicated to this card to allow repeating. Then console Pauses test execution and opens an IRB shell with current context. Does not halt the application-under...

Sidekiq.configure_client do |config| if ENV['RAILS_ENV'] == 'development' || ENV['RAILS_ENV'] == 'test' stdout_logger = ActiveSupport::Logger.new(STDOUT) file_logger = ActiveSupport::Logger.new("log/sidekiq_#{ENV['RAILS_ENV']}.log")

end Sidekiq.configure_server do |config| if ENV['RAILS_ENV'] == 'development' || ENV['RAILS_ENV'] == 'test' stdout_logger = ActiveSupport::Logger.new(STDOUT) file_logger = ActiveSupport::Logger.new("log/sidekiq_#{ENV['RAILS_ENV']}.log")

github.com

matches. Example Let the following setup: # my_model_spec.rb describe MyModel do it 'perfoms a test' it_behaves_like 'something shared' end # something_shared.rb shared_examples_for 'something shared' do

...MyModel is spec/models/my_model_spec.rb[1]. The ID of the ExampleGroup created by it 'performs a test' is spec/models/my_model_spec.rb[1:1]. The ID of the ExampleGroup created by it_behaves_like 'something...

...it becomes more difficult to optimize this query when joining other records (for my tests PostgreSQL was not able to use the GIN index on the joined table within a...

makandra dev

Delete the static error pages 404.html, 422.html and 500.html from public/. Add some tests, for example a cucumber feature: @allow-rescue Scenario: 404 page When I go to the...

...is very important to double-check results to be avoid unexpected consequences. Can I Test Things Locally With a Database Dump? Unfortunately not. Restoring from a logical database backup, i.e...

...an SQL dump, will not reproduce the error and is not suitable for testing changes, since importing dumps will re-create indexes in the first place.

...See our libvips with CarrierWave card for: Converting colors to sRGB Stripping color profiles Testing ImageMagick provides a compare utility which can be used to measure color differences between two...

...compare writes it's result to STDERR. A lower score is better, I'd test for a threshold like <= 5. There are different comparison metrics available Link to the profile...

Whenever you have to deal with randomness in a jasmine test there are some spy strategies to help you out! Let's say we have a method Random.shuffle(array) to...

...shuffles the array', () => { spyOn(Random, 'shuffle').and.returnValue([3, 2, 1]) array = [1, 2, 3] testedClass = new testedClass(array) expect(Random.shuffle).toHaveBeenCalled() expect(testedClass.array).toEqual([3, 2, 1]) })

class Client class_attribute :config def self.configure self.config ||= Configuration.new yield(config) end def test uri = URI.parse(FooClient::Client.config.endpoint) Net::HTTP.get_response(uri) end end end module FooClient class Configuration...

makandra dev

...lazy, i.e. page 2 is only requested after page 1 is done processing in tests, I could write video_service.each_video.to_a.should == [video_1,...] Lazy enumerators It is possible to chain methods on...

makandra Curriculum

...only see their own user as an option in the same . Remember to add tests for your authorization code. Tip If you have existing dropdowns that accept a restrict list...

Discussion Discuss with your mentor: We don't want to duplicate our integration tests for every screen and user role. Why? Where to put authorization scenarios? In an authorization.feature...

...get Jasmine specs running in a Rails project using Webpacker, with the browser based test runner. Should be easily adaptable to a pure Webpack setup. Step 1: Install Jasmine

...Javascript, we will create two additional packs. The first only contains Jasmine and the test runner. The second will contain our normal application code and the specs themselves.

When an AJAX request raises an exception on the server, Rails will show a minimal error page with only basic...

...might look as follows: shared: &shared email: info@example.com google_analytics: container: UA-123456-12 test: <<: *shared development: <<: *shared production: <<: *shared email: production@example.com Keys under the shared namespace are shared between...

...serve requests with the HOST header hacker.xyz You need to take care in your tests, that you reset ActionMailer::Base.default_url_options after e.g. request specs, e.g. spec/support/action_mailer.rb: RSpec.configure do...

...format before you can use it for plotting: Numo.gnuplot do .. # more plot settings plot "'test.csv'", u: "(hist($#{column_to_plot},width)):(1.0)" s: true, f: true, ...

output "hist.jpg" end

...write any array files into a temporary csv file before passing it Numo.gnuplot: CSV.open('test.csv', 'w') do |csv| random_values.zip(additional_values, absolute_values, other_values).each_with_index do |zipped...

open-ui.org

...behaviors of the built-in controls, as well as necessary accessibility requirements, and provide test suites to ensure compatibility. We’ll also implement polyfills for our extensible web UI controls...

...we expect that these design systems will benefit from Open UI’s specifications and test suites. Long term, we hope that Open UI will establish a standard process for developing...

...options to disable password leak detection and suppress the warning. Problem When running Selenium tests with recent versions of Chrome and Chromedriver (e.g., version 136+), entering “unsafe” (weak or reused...

"This password has appeared in a data breach…" This alert can break automated test runs, especially in CI/CD pipelines. Solution You can disable Chrome’s password leak detection to...

github.com

...Chaining / fluent interfaces Note that you can also make your matcher chainable, so a test can modifier its behavior. Using chaining you can write a matcher like this:

...expected #{given.inspect} not to rhyme with #{expected.inspect}" given.rhymes_with? expected end end end ActiveSupport::TestCase.send :include, RhymeWithMatcher 4) Write a matcher class (for complex matchers) module Aegis module Matchers

Using RSpec matchers One rule of thumb I try to follow in capybara tests is using capybara matchers and not plain rspec matchers. One example: visit(some_page)

...current JavaScript VM: window.addEventListener('error', function(event) { console.log("Got an uncaught error: ", event.error) }) Tip Testing tools like Jasmine might also listen to the error event and fail your test if...

...search results for example to the /app/ directory can be helpful to exclude all test files. The probably easiest way to start this kind of search is from the project...

makandra dev
relishapp.com

...wrong number of arguments. This dual approach allows you to move very quickly and test components in isolation, while giving you confidence that your doubles are not a complete fiction...

...is because Redis defaults to at most 16 databases (0 to 15) and running tests in parallel might exceed that (your tests might run on databases 1..n or...