github.com

...show the message "Your account is not activated yet." super && active? end end Your tests should at least cover: Signed in users are logged out on the next request once...

selenium.dev

I recently stumbled over a problem that my feature tests broke in CI because of a mismatching chromedriver version. In this specific project we have a fixed Chromium version in...

...a Debian 12 environment instead of Chrome. The tests however used a recent chrome version instead. $ chromedriver --version ChromeDriver 117.0.5938.149 (e3344ddefa12e60436fa28c81cf207c1afb4d0a9-refs/branch-heads/5938@{#1539}) $ chromium --version Chromium 117.0.5938.149 built on...

makandra dev

...for the required model Write the controller first for the required model Write the tests first for the code bad: While doing this you can for example see easier when...

...don't need any "conversion" hacks which try to replace commas with dots. Additionally, tests which control browsers with Selenium will also see point-formatted values on non-English locales...

...the number of requests for a single IP address. Bash Command awk '{ print $1}' test.log | sort | uniq --count Result 1 87.140.79.41 3 87.140.79.42 Explain awk '{ print $1}' test.log...

# At this point we want to stop in the debugger for all following tests, when the :lock call runs into the after_save $debug = true expect { user.lock }.to change...

...consecutive calls of Time.now probably return two inequal values. Consider freezing time in your tests so it is not dependent on the speed of the executing PC: Timecop.freeze(Time.now.round) do...

...marked for destruction self.amount = invoice_items.reject(&:marked_for_destruction?).sum(&:amount) end end How to test the correct behaviour in rspec it 'ignores invoice items marked for destruction in a nested...

...that, so I hope it will be fixed with a future release. The following test succeeds: context 'factories' do let(:test_case) { FactoryBot.create(:test_case) } it 'are valid' do

...test_case).to be_valid end end But when I did the same in byebug the following happened: (byebug) FactoryBot.create(:test_case) *** NameError Exception: uninitialized constant # ::TargetLimitation

ruby-doc.org

...be an issue, but can be annoying to deal with during development and in tests. To avoid this use Rationals conversion_factor = Rational('1') / Rational('3.6') # => (5/18) result = Rational...

...receive(:env).and_return('production'.inquiry) puts Rails.env # prints "production" end puts Rails.env # prints "test" Note that, when overriding pre-existing mocks inside the block, they are not reverted to...

rspec.info

Don't use reruns as a mean to work around flaky tests. You should always try to fix those instead of rerunning them regularly. Setup Configure RSpec to persist...

...the result of your test runs to a file. This is necessary to be able to rerun examples. Add this to your spec/spec_helper.rb : config.example_status_persistence_file_path = 'spec/examples.txt'

makandra dev

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

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

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

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

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

...time and there are no indications anything would change. And even if, any automated tests would fail immediately when trying to read the wrong table name, and you could still...

DevOps Curriculum

...systemd-networkd man file-hierarchy Übungen Erstelle dir eine Anwendung für einen Service Für Testzwecke brauchst du eine einfache App die du später als Service starten kannst. Du kannst dir...

...mit ./badapp starten. Die Anwendung startet einen Webserver. Mit curl localhost:8080 kannst du testen ob es funktioniert. Erstelle einen systemd Service der badapp startet. Wenn die App erfolgreich startet...

DevOps Curriculum

...von tldr und man heraus was die unten gezeigten Befehle machen. Versuche diese auch testweise zu verwenden. man (Get a more colorful output for man pages) top cat less

...ein Shell Script, das als Parameter einen Pfad zu einem Verzeichnis entgegen nimmt. Zum testen erstellst du dir selbst ein neues Verzeichnis, in dem du diverse Dateien anlegst. Einige der...

...keep maintaining the library if the original author stops doing so. Does it contain tests? The code quality of our libraries should generally be around the same level of our...

...few modern features like "subgrid", ":has()" or "optional chaining" on Caniuse. Understand how we test for older browsers using BrowserStack Ask a colleague for our shared BrowserStack credentials

...all the classes in a Rails project, controllers are some of the hardest to test and understand and should receive special care. It is our belief that: Controllers should be...