...assist users with disabilities. It is also very practical to label things for integration tests. With the auto-mapper below you can write this: Then I should see "Bruce" within...

...rare circumstances, you want to use a websites full domain (say https://mywebsite.com) while testing in dev mode. This can be useful if you need to test third party integrations...

...mywebsite.com. Don't forget to remove the change to /etc/hosts when you're done testing...

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

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

query.matches // => true or false Detecting when the query result changes The #matches() method tests the current screen width. To be notified when the width changes, you need additional scripting...

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

Your development machine is usually on a very good network connection. To test how your application behaves on a slow network (e.g. mobile), you can simulate limited bandwidth. Chrome

...when using the native player or a well known Browser. Browser Playback Support To test the Browser support, I created a tag with a WebM/VP8 and a MP4/H.264 . The Browser...

...WebM, VP8 + AAC ✓ ✓ ⚠ ⚠ ✓ ⚠ ✓ BrowserStack Matrix Every available combination listed in this table was manually tested on BrowserStack. The chosen video codec is annotated in every cell, audio playback was verified...

Sometimes you just want to have a small web server that serves files to test something. Serve the current directory On Ruby 1.9.2+ you can do the following ("." for current...

...to remove the same YAMLs file before you can re-run that still-red test. With this little helper, you (or your coding agent) can do the same with RE...

...was moved from the top to the bottom of a file, or a long test file that was split in many. Fortunately, Git offers a special highlighting mode that directs...

...Note that this only works for single-line texts. If you want to truncate tests across multiple lines, use a JavaScript solution like Superclamp. There is also -webkit-line-clamp...

makandra dev

...environment configuration. This is useful for keeping log files manageable, especially in development and test environments. # config/environments/development.rb Rails.application.configure do config.log_file_size = 10.megabytes end When this value is set, Rails...

...including and hash_including matches with red even they should be green if a test fails. You need to find out manually where the result differs from the expectation.

Use vector graphics Create multiple sizes of the image Use media queries that test for min-device-pixel-ratio Use Use Ignore the issue Discuss the pros and cons...

...as of yyyy-mm-dd end If the column was still in use, your test suite should hopefully catch that. Drop old columns If the data in that column wasn...

...Mysql::Error: Column 'created_at' in order clause is ambiguous Unless you have a test covering this particular case, you won't notice this until after you deployed.

github.com

...by running man wkhtmltopdf. However, you should always have quiet: true to keep your test output and logs clean. How to express page breaks, headers, footers, etc. There are concepts...

...SE_AVOID_STATS=true or project based # spec_helper.rb ENV['SE_AVOID_STATS'] = 'true' To test if it works Go offline Remove ~/.cache/selenium/se-metadata.json Run a JS feature spec

...configuration.rb With this approach you have a stronger decoupling in your application: Your unit tests might use Webmock or VCR for the lib/github_client part, but your application only talks to...

...inside dependencies sassLoaderConfig.use[sassLoaderIndex].options.sassOptions.quietDeps = true sassLoaderConfig.use[sassLoaderIndex].options.sassOptions.silenceDeprecations = ['import'] Webpack module.exports = { module: { rules: [ { test: /\.s[ac]ss$/i, use: [ "style-loader", "css-loader", { loader: "sass-loader", options: { sassOptions: { quietDeps...

...by CSS, the following will work with Selenium, but not when using the Rack::Test driver. The Selenium driver correctly only considers text that is actually visible to a user...

...Then I should not see "foobear" This is because the Rack::Test driver does not know if an element is visible, and only looks at the DOM. Spreewald offers steps...

...Model Serializer (AMS) to serializer our Active Record models to JSON. JSON Schema to test the responses of our server. SwaggerUI to document the API. It worked The concept worked...

...Rails application, that has no UI components (only the documentation) and therefore no integration tests, the tests are really fast. With ~25 endpoints the tests are finished within 22 seconds...

...that have not been updated in a while Update a single gem conservatively Run tests Deal with the pain Update the next gem It's also advisable to only update...