Same requests are recorded only once in vcr. Replaying a test fails, if you trigger the same request multiple times. The error message is somehow confusing, as your cassette contains...
URI ignoring query parameter ordering 1 URI ignoring query parameter ordering 2 Tests with AJAX Using javascript in integration tests might cause issues that AJAX requests are not...
Don't say is_a?(ActiveRecord::NamedScope::Scope) because that is no longer true in Rails 3 and also doesn...
...formerly known as "spec_candy.rb") is now available as a gem. It works, it is tested and there will be updates. Usage Add rspec_candy to your Gemfile. Add require 'rspec...
Scenario outlines allow us to more concisely express repetitive examples through the use of a template with placeholders.
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...
"I click on ..." step fixed Errors added to ToleranceForSeleniumSyncIssues::RETRY_ERRORS Capybara::ElementNotFound Selenium::WebDriver::Error::ElementNotVisibleError Selenium::WebDriver::Error...
...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...
Internet Explorer until version 9 has some limitations when parsing CSS files Summarized, these are: Up to 31 CSS files...
Hashrocket Lunch n' Learn #1 with Avdi Grimm: Making Little Classes out of Big Ones A look at the pros...
Talking with APIs makes more fun using Postman. As an alternative you can also use command line tools like cURL...
...relative 'lib/capistrano/slackistrano' set :slackistrano, { klass: Slackistrano::CustomMessaging, channel: '#your-channel', webhook: 'https://hooks.slack.com/services/your/webhook/url', } Test Slackistrano: cap staging slack:deploy:test When you are satisfied, do a real deploy to...
Syn is a synthetic event library that pretty much handles typing, clicking, moving, and dragging exactly how a real user...
This works in all relevant browsers: document.activeElement You can use this in your Selenium steps, for example, to assert that...
I think this pattern is really useful not just for upgrading suites from Webrat, but really anywhere you have an...
...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...
...do not need a code review, but use the merge request to run a test pipeline: # Push branch, create a merge request, set the branch to be removed on merge...
...and set to merge when all tests are green ptm = push -u origin HEAD -o merge_request.create -o merge_request.merge_when_pipeline_succeeds -o merge_request.remove_source_branch Miscellaneous [core] editor = vim # Set...
For years we copied the patiently helpers into our test suites. they now live in their own gem (makandra/patiently) where we can test them and distribute changes. Setup
When you roll custom URLs with hacks like routing-filter, you can put a spec like this into spec/routing/routing_spec.rb:
...want to define a global matcher since you need it only for your specific test, there are two ways to do it: Custom matcher for a single group
Then ... Workarounds like this do not work reliably, will result in flickering tests and should be avoided. There is no known reliable way to detect if the browser...
...the middle of config/application.rb: require 'middleware/secure_cookies' config.middleware.insert_after ActionDispatch::Static, Middleware::SecureCookies Add a test to spec/requests/secure_cookies_spec.rb: describe Middleware::SecureCookies do it 'flags all cookies sent by the application as...
get 'https://www.example.com/test/set_cookie' response.headers['Set-Cookie'].should =~ %r(test=\S+; path=/; Secure$) end it 'will not flag cookies as secure when HTTPS is not being used (in...
Interesting talk about a team that integrated automated security testing into their BDD workflow. There is also a video of the talk...
...go fixtureless with Shoulda + Factory Girl. All good, except one problem. Slow as fuck tests. So here’s fast_context as a solution for it. fast_context compiles all the...
...should’s within a context into a single test...
...directly on GitLab, or by checking out the corresponding branch. You can assume that tests are green, but you need to confirm that everything requested in the issue is implemented...
...test coverage is good the code is maintainable What to do if the code is okay If the code is okay, you may either merge it into main yourself: