...you use Rubocop or Capybara. These gems most often live in your development and/or test group of the Gemfile and require English for you. Therefore to ensure that the library...

makandra dev

When your application is open for public sign up and sends out transactional e-mails to a large number of...

...controllers' #index actions. This way, when a change introduces an n+1 query, your test suite will blow up. Example A typical #index action looks like this. class CardsController < ApplicationController...

docs.gitlab.com

...introduced rules. You can use them in your .gitlab-ci.yml in your project. To limit test runs to merge requests and the master branch, you can write this: tests: script: bundle...

...exec rake tests rules: - if: '$CI_COMMIT_BRANCH == "master"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event...

...that behave differently (like mobile vs desktop navigation menus). Since you want your integration tests to behave consistently, you want to set a specific size for your tests' browser windows...

...simply switch the driver via Capybara.current_driver = :selenium. If you use Cucumber for integration testing, wrap that into something like Before('@javascript') {...

Benefits of using device metrics are:

SMTP validation: connects to the host received from DNS and starts a test delivery to find out if the recipient mailbox actually exists tl;dr: We suggest you...

...e.g. to not cancel deploys by accident). Consider to set the interruptible flag for test jobs to reduce the load on your runners like in the following example .gitlab-ci.yml:

makandra dev

If you need a sample video with certain properties for a test you can create one using ffmpeg. You might want a very low bitrate file to speed up processing...

...in your test. (e.g. you only care about the length, then you can create a video with a very low resolution and framerate) Create a 21s video with 1fps and...

github.com

...use feature detection or a polyfill when using this API, to avoid unforeseen results. // Test via a getter in the options object to see if the passive property is accessed...

...var supportsPassive = false; try { var opts = Object.defineProperty({}, 'passive', { get: function() { supportsPassive = true; } }); window.addEventListener("testPassive", null, opts); window.removeEventListener("testPassive", null, opts); } catch (e) {} // Use our detect's results. passive applied if...

...Setup job that will only run for Rails environment "staging" end end You may test the cron output like this (no changes will be made to your crontab):

...task that will only run for Capistrano stage "customer1-staging" end end You may test the cron output like this (no changes will be made to your crontab): STAGE=customer1...

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...

...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...

We are using Spring in our tests for sequential test execution but not for parallel test execution. And Rails requires you to set the config.cache_classes = false if you are...

...using Spring in tests. With our setup, this would raise the following error in cucumber-rails for parallel test executions due to some legacy database cleaner issue. WARNING: You have...

...callback passed to promiseState will be called asynchronously in the next microtask. Usage example: Tests Note Since this card was written Jasmine has implemented asynchronous matchers that let you expect...

...sufficient to use the then() function. Where promiseState() becomes useful is when writing unit tests for a function that returns a promise. Let's say we write a promise-based...

...up DOM elements. There are also matchers like have_field to make expectations during tests. These methods also have a number of options to influence the lookup. E.g. the :disabled...

...I use git worktree? You can use more than one working tree to ... ... run tests while working on another branch ... compare multiple versions ... work on a different branch without disturbing...

...because capybara is a dependency of cucumber-rails), which will break all your tests. The fix Bundler >= 1.14 has a --conservative flag. Using the conservative flag allows bundle update GEM...

Due to the way we setup Jasmine tests in our projects, you may run into various errors when Jasmine boots. Setting jasmineRequire on undefined Jasmine 4 may fail with an...

Now add the following loader to your config/webpack/environment.js: environment.loaders.prepend('fix-jasmine4-global-detection', { test: /jasmine-core\/lib\/jasmine-core\/jasmine\.js$/, use: [{ loader: 'string-replace-loader', options: { search: 'window.toString() === \'[object GjsGlobal...

...change this attribute to hold a list of URLs, and need to adjust all tests. Our goal is to convert the url "..." to the urls ["..."] here. Open find and replace...

...add logic to your application code that helps to modify the Accept-Language in tests. Here is an example for a Rails application with Cucumber integration tests: class ApplicationController

...need to fix anything for them. With that many different files, you should also test if they are all reachable...

...won't notice for a while (ask me how I know) but occasionally encounter tests which are "randomly failing". Example When users change their name and visit a page they...

makandra dev

RubyMine has a HTTP Client that can be useful to test web APIs. Just create a .http scratch file an write your request in it. The request can then be...

makandracards.com

...configured your Searchkick settings) add: SEARCHKICK_CLIENT_TYPE = case Rails.env when 'production', 'staging', 'development', 'test' :elasticsearch else :opensearch end Searchkick.client_type = ENV.fetch('SEARCHKICK_CLIENT_TYPE', SEARCHKICK_CLIENT_TYPE).to_sym...